home *** CD-ROM | disk | FTP | other *** search
/ LSD Docs / LSD Docs.iso / FILEZ / lsdspr06.dms / lsdspr06.adf / sculpt4d_3.doc.pp / sculpt4d_3.doc
Text File  |  1990-09-07  |  161KB  |  4,435 lines

  1.                            Sculpt-Animate 4D- Part 3
  2.  
  3.  
  4. frame recording. Before acquiring hardware for this
  5. purpose, be sure to study all of the latest literature and
  6. periodicals, and consult both your local Amiga and video
  7. dealerships. Unfortunately, we cannot even hope to
  8. adequately introduce the art of videography in this manual.
  9.  
  10.     Sculpt Animate drives have been written for a few video
  11. devices, and more are in the works. If you have a particular
  12. setup in mind, or you have built your own video hardware,
  13. it is possible to write your own software drivers, although
  14. considerable programming experience is required.
  15. Sourcecode for existing frame buffer and frame controller
  16. drivers can be purchased from Byte By Byte Corporation.
  17.  
  18. Using a GenLock
  19.  
  20.     A GenLock has other uses in Sculpt Animate, besides
  21. encoding RGB to NTSC for recording to videotape. A
  22. GenLock's main purpose, after all, is to overlay computer
  23. graphics onto an external video source.
  24.  
  25.     The GenLock works according to a relatively simple
  26. principle (although the details are technically complex). The
  27. GenLock intercepts the Amiga's RGB image output and 
  28. encodes it. As each pixel is transmitted, the Amiga includes
  29. a signal which indicates whether the pixel's color is 'color
  30. zero'. When its genlocking feature is activated, the
  31. GenLock will replace any of the Amiga's color zero pixels
  32. with the corresponding pixel of an external video source,
  33. such as a VTR or video camera image. All other Amiga
  34. pixels are transmitted normally.
  35.  
  36.     In order to permit the use of Sculpt Animate animations
  37. with GenLocks, the program ensures that the black color
  38. used for the 'Sky color NONE' background is color zero in
  39. the Amiga's color map. When a GenLock is being used, the
  40. sky area will be 'transparent' in any animation or image that
  41. is rendered with this setting, so that an external video source
  42. may be seen behind the animation's action.
  43.  
  44.                                                                         12-21
  45.  
  46.     As with background-foreground images, the GenLocked
  47. image will not be reflected or transmitted by mirrored or
  48. glass objects. You can simulate such reflection to a certain
  49. extend, though, by setting a SOLID color for the sky that you
  50. want to be reflected. Of course, the genlocked image will
  51. not be visible unless you change the sky color to NONE, but
  52. the color you set for SOLID will be remembered, and used
  53. for reflections and glass transmissions.
  54.  
  55. GenLocking the Tri-View
  56.  
  57.     Sculpt Animate automatically supports the use of a
  58. GenLock to overlay the Tri-View editing environment onto
  59. an NTSC video source. If a GenLock is connected to the
  60. system, the Tri-View's background will be color zero (the
  61. 'transparent' color). This facility can be useful for digitizing
  62. shapes, but is naturally limited to the screen's resolution.
  63.  
  64.     There may be times when you want the normal Tri-View
  65. screen to appear, even if a GenLock is attached to the system
  66. (we encountered this problem when making a tutorial video).
  67. A program entitled 'GenLockToggler' is present in the
  68. 'Misc' subdirectory of your '68020/68881 VERSION'
  69. distribution disk. You can run this program to 'hide' your
  70. GenLock before you run Sculpt Animate. Run the
  71. GenLockToggler again to reveal the GenLock afterwards.
  72.  
  73.     Be a little caution with the GenLockToggler program.
  74. It can be used to 'reveal' a GenLock whether there is one or
  75. not. This is probably not what you want to do.
  76.  
  77.                                                                         12-22
  78.  
  79.                                 CHAPTER 13
  80.  
  81.                               BY THE NUMBERS
  82.  
  83.     So far, this manual has presented the techniques of
  84. building, manipulating, and animating 3D models as an
  85. artistic pursuit. The aim has been to provide an environment
  86. for freehand model building, so that no mathematical skill is
  87. required beyond some ability to visualize things in three
  88. dimensions.
  89.  
  90.     For many people, however, the scale and accuracy of the
  91. models they build is important. This chapter presents a 
  92. number of tools that can be used to precisely scale and 
  93. position the objects in your scenes. To understand this
  94. facility, you will need to learn a little three-dimensional
  95. geometry.
  96.  
  97. Sculpt Animate coordinates
  98.  
  99.     You can think of the Sculpt Animate universe as an
  100. enormous cube of space. When you run the program, the 
  101. Tri-View represents a much smaller cube within this space,
  102. situated in its exact center. As you use the Tri-View, you
  103. move it around within the universe, expanding and shrinking
  104. your view so that it contains more or less of the available
  105. space.
  106.  
  107.     An essential part of Sculpt Animate is that every vertex,
  108. lamp, or other object has a precise location within the
  109. universe. Any location in a 3D space can be described with
  110. only three numbers, each of which describes an offset in one
  111. of the three dimensions. This sort of arrangement is called a
  112. Cartesian coordinate system (named after Rene Descartes).
  113. The street-locater grid on a fold-up city map is a cartesian
  114. system in two dimensions. A 3D system is similar, except
  115. that it can also 'map' vertical offsets.
  116.  
  117.                                                                         13-1
  118.  
  119.     Any given location in Sculpt Animate is described in
  120. terms of the cardinal directions East, North, and Up. These
  121. directions correspond to the 'X', 'Y', and 'Z' of a traditional
  122. coordinate system in mathematics.
  123.  
  124.                   Z                     Up
  125.                   !   X                 !
  126.                   !  /                  !    West
  127.                   ! /                   !    /
  128.   Y--------------!/-----------Y         !   /
  129.                  /!                     !  / 
  130.                 / !                     ! /
  131.                /  !      South----------!/---------------- North
  132.               /   !                    /!
  133.              X    !                   / !
  134.                   !                  /  !
  135.                   Z        East     /   ! 
  136.  
  137.                                       Down
  138.  
  139.             Sculpt Animate Coordinate System
  140.  
  141. The Coordinates window
  142.  
  143.     If you execute the command EDIT COORDINATES, a
  144. new window called the coordinate window will pop up. 
  145. This window has a drag bar, so you can move it to a location
  146. where it will not obstruct the Tri-View.
  147.  
  148.     When you invoke this window, a requester will inquire
  149. how many decimal places you want to use. Sculpt
  150. Animate's universe is divided into a fixed number of
  151. indivisible units, but most people will want to work with a
  152. divisible unit of measurement. By choosing a particular
  153. number of decimal places, you determine what fraction of
  154. your 'working' unit each Sculpt Animate unit will be. For
  155. instance, if you choose one decimal place, the smallest
  156. fraction you will be able to work with is 0.1, or one tenth of
  157. your working unit.
  158.  
  159.                                                                         13-2
  160.  
  161.     Many people wonder why their working unit of measure
  162. isn't marked in inches, or feet, or meters, etc. It is left up to
  163. the user to decide what one 'unit' in the coordinates window
  164. will be equivalent to, be it parsec, cubit, or angstrom. All
  165. Sculpt Animate must know is the largest number of decimal
  166. places you'll need to express a fraction of one working unit.
  167.  
  168. !=========================================!
  169. !=========================================!
  170. !                                         !
  171. !        !----------------------------!   !
  172. ! East:  !                   530.7    !   !
  173. !        !----------------------------!   !
  174. !        !----------------------------!   !
  175. ! North: !                   161.0    !   !
  176. !        !----------------------------!   !
  177. !        !----------------------------!   !
  178. ! Up:    !                      23.4  !   !
  179. !        !----------------------------!   !
  180. !                                         !
  181. ! !-----! !---------------------! !-----! !
  182. ! ! <-- ! !                0.0  ! ! --> ! !
  183. ! !-----! !---------------------! !-----! !
  184. ! !-----! !---------------------! !-----! !
  185. ! ! /__ ! !                     ! !  X  ! !
  186. ! !-----! !---------------------! !-----! !
  187. !=========================================!
  188.  
  189.             The Coordinates Window
  190.  
  191.     Once you have entered the number of decimal places, a
  192. new window will appear on the screen. This window
  193. displays the cursor position relative to an origin. The
  194. position is represented as a distance East, a distance north
  195. and a distance in the Up direction, relative to the coordinate
  196. origin. If the displayed value is negative, it represents an
  197. offset in the opposite direction.
  198.  
  199.     At this point, you may drag the coordinates window to
  200. one side, and continue working in the Tri-View as usual.
  201. The readout of the cursor's position will be updated as you
  202. move it around.
  203.  
  204.     When you are working with the coordinates window on
  205. the screen, you can also click on one of the coordinate boxes
  206. and edit or enter a number. When you press the return key,
  207.  
  208.                                                                         13-3
  209.  
  210. the Tri-View cursor will jump to the location that you
  211. specify.
  212.  
  213. The coordinate origin
  214.  
  215.     The center of a coordinate system is called its 'origin'.
  216. Coordinate values are read as offsets from this location.
  217.  
  218.     The origin of the coordinate window starts out at the
  219. absolute origin, in the center of the Sculpt universe. It is
  220. often convenient to work with coordinates based on some
  221. other place in your scene. To do this, you can move the
  222. coordinate origin by placing the cursor at the desired location
  223. and clicking on the X shaped gadget in the extreme lower
  224. right of the coordinates window.
  225.  
  226.     Even though the coordinate origin can move about, you
  227. can find the absolute origin at any time by holding down the
  228. right Amiga key and clicking the Center Tri-View gadget.
  229. This places the cursor back at the absolute origin.
  230.  
  231.     If you are building an object from a set of plans, it is a
  232. good idea to set the origin at a convenient location. For
  233. example place the origin at one corner of a house and then
  234. the numbers in the coordinates window can directly
  235. correspond to measurements on the plans. If you are
  236. building a complicated object from many simpler ones, you
  237. can reset the origin for each object.
  238.  
  239.     Once an object is built, it can be very simple to position it
  240. precisely. Usually there will be a vertex of the object that
  241. you will want to be precisely aligned in a larger context.
  242. You can use the command EDIT SNAP CURSOR TO
  243. VERTEX to place the cursor precisely on this vertex, then
  244. turn on the GRABBER and type a new location for the
  245. vertex directly into the coordinate window.
  246.  
  247.     If you want to place one object relative to another
  248. object's center, DESELECT ALL, select the reference object
  249. and do a SNAP CURSOR TO CENTER, then zero the
  250. coordinates window. Now DESELECT ALL and select the
  251.  
  252.                                                                         13-4
  253.  
  254. object you want to move. Use a SNAP CURSOR command
  255. to place the cursor precisely, relative to this object. Finally,
  256. turn on the GRABBER and enter zeros into all three
  257. coordinates, putting the cursor in the center of the reference
  258. object.
  259.  
  260.     If you want an object placed precisely on the ground,
  261. you can select the object, indicate its lowest vertex, do a
  262. SNAP CURSOR TO VERTEX, and turn on the Grabber
  263. tool. now simply zeroing out the 'Up' coordinate will move
  264. the object so that its bottom vertex is precisely at ground
  265. level. This works if the coordinates are still zeroed at the
  266. 'absolute' origin. If not, click Center Tri-View while
  267. holding the right Amiga key to find the ground level.
  268.  
  269.     These are just a couple of examples of how the
  270. coordinates window can be combined with the SNAP
  271. CURSOR commands to precisely place objects in the Tri-
  272. View.
  273.  
  274. The tape measure
  275.  
  276.     The fourth number in the coordinates window is the
  277. readout for an automatic tape measure.
  278.  
  279.     There are also two end marker gadgets, one to either side
  280. of this readout. Clicking one of these gadgets will place one
  281. of a pair of marker icons at the current cursor position.
  282. These two markers represent the ends of the tape measure,
  283. as soon as both are placed in the Tri-View, you will see the
  284. distance between them displayed in the readout.
  285.  
  286.     If a vertex is indicated when you click a marker gadget
  287. (i.e., the cursor is close to it in the selected window), then
  288. that marker will be 'attached' to the indicated vertex. If the
  289. vertex is moved in the Tri-View, the marker will move with
  290. it and the tape measure readout will be updated accordingly.
  291.  
  292.     A marker icon will be purple if it is attached to a vertex.
  293. Otherwise it will be blue.
  294.  
  295.                                                                         13-5
  296.  
  297.     You can use the tape measure to scale objects precisely.
  298. Say you want a sphere with a specific radius. First,
  299. DESELECT ALL and add a sphere in the normal way.
  300. Select the sphere and snap the cursor to its center. Click
  301. Shrink Tri-View until no vertex is visible under the cursor,
  302. then click one of the marker gadgets. Expand the Tri-View
  303. again, indicate any vertex, and click the other marker gadget.
  304.  
  305.     Now that the tape measure is set, call up EDIT DO
  306. EXPAND. Each time you adjust the sphere's size, the tape
  307. measure will reflect the new radius. EXPAND's lower
  308. slider lets you scale sizes with an accuracy of almost one part
  309. in 10,000.
  310.  
  311.     When you are using spheres, it might be convenient to
  312. place a vertex at the center of each sphere, and connect it to
  313. the rest of the sphere with an edge. This lets you use SNAP
  314. CURSOR TO VERTEX, instead of having to deselect
  315. everything, select the sphere, and snap to its center. It also
  316. provides a convenient anchor vertex for the tape measure and
  317. local origin.
  318.  
  319.     Of course, if all you want to do is scale the sphere, you
  320. could mark diametrically opposite vertices and read the
  321. measure as the sphere's diameter instead of radius. This
  322. entirely avoids the need to use SNAP CURSOR TO
  323. CENTER, but it wouldn't show off as many techniques!
  324.  
  325. The protractor
  326.  
  327.     Just as you can use the tape measure readout for
  328. measuring distances, there is also a way to measure angles.
  329. This is done with the readout on the bottom of the 
  330. coordinates window. Notice the 'angle' gadget to the left of
  331. this readout (opposite the origin gadget). Clicking this
  332. gadget places a similarly shaped icon at the cursor's current
  333. location.
  334.  
  335.     This icon is the protractor marker. It works just like the
  336. two tape measure end markers, in that it may be placed
  337. independently or attached to an indicated vertex. The
  338.  
  339.                                                                         13-6
  340.  
  341. protractor works with the tape measure icons to mark an
  342. angle to be measured.
  343.  
  344.     To see how this works, construct a triangle in the Tri-
  345. View. Move the cursor to any of the triangle's vertices, and
  346. click on the left hand tape measure gadget, then move the
  347. cursor to another vertex and click on the right hand tape
  348. measure gadget. Finally move the cursor to the third vertex
  349. and click on the angle icon at the lower left of the coordinate
  350. window. All the markers should be displayed in purple,
  351. indicating that the marker is locked to the vertex.
  352.  
  353.     The bottom box in the coordinates window will now
  354. display an angle measurement. This measurement is the
  355. size, in degrees, of the apparent arc between the two tape
  356. measure markers, as measured from the protractor marker.
  357. In this case, this is the angle at the triangle corner which is
  358. marked by the protractor. The value's precision is two
  359. decimal places, regardless of the precision of the other
  360. numbers in the coordinate window.
  361.  
  362.     Deselect all but the one vertex and use the Grabber tool
  363. to move the vertex around. Watch how the angle displayed
  364. in the coordinate window changes. you can see that this
  365. tool can be used not only to measure, but also to construct
  366. objects by their angular measurements.
  367.  
  368.     We have been using the protractor to measure angles in
  369. the plane of one Tri-View window, but by placing the
  370. various markers in three dimensions you can measure any
  371. angle, no matter what plane it lies in. This can be helpful
  372. when constructing models for scientific purposes.
  373.  
  374. The grid
  375.  
  376.     If you are modeling objects that are built according to
  377. regular, integral measurements, a reference grid can be a
  378. great help. Sculpt Animate provides a three dimensional
  379. grid, a sort of 3D graph paper, that you can use to help build
  380. and position your objects.
  381.  
  382.                                                                         13-7
  383.  
  384.     You turn on Sculpt Animate's grid with the command
  385. EDIT GRID ON. When you use this command, a requester
  386. will pop up asking for the grid size. This is the size of each
  387. grid cube in Sculpt Animate's 'fundamental' units, the least
  388. significant digit of the coordinate system.
  389.  
  390.     The grid size can be made the same as your working unit
  391. by typing in the correct scaling factor. Thus, if your 
  392. working unit is divisible by thousandths (0.0001, three
  393. decimal places), then an equivalent grid size would be 1000
  394. fundamental units.
  395.  
  396.     The grid size can also be some multiple or fraction of
  397. your working unit. For instance, if you have decided your
  398. working unit is inches, with three decimals of accuracy, then
  399. you can specify grid lines at one foot intervals by entering a 
  400. grid size of 12 times 1000, or 12000. A grid size of 125
  401. would be equivalent to 1/8th inch grids.
  402.  
  403.     The grid displayed in the Tri-Window as faint grid lines in
  404. each of the three windows. If the Tri-View is expanded to
  405. the point that the grid lines would be spaced too closely, then
  406. the grid will disappear until the Tri-View is shrunk again.
  407.  
  408.     The grid is not just used as an aid to visual placement of
  409. objects. The commands EDIT SNAP CURSOR TO GRID
  410. and EDIT SNAP SELECTED VERTICES TO GRID both
  411. work as you might expect, moving the items in question to
  412. the nearest grid intersection.
  413.  
  414.     SNAP CURSOR TO GRID can be used like the other
  415. SNAP CURSOR commands as an aid to positioning objects.
  416. Note that using the menus for a SNAP CURSOR command
  417. will not drop the grabber, as it usually would.
  418.  
  419.     The grid can be removed with the command EDIT GRID
  420. OFF. If the grid is already on and you want to change its 
  421. scaling factor, just call EDIT GRID ON a second time and
  422. enter a new size value.
  423.  
  424.                                                                         13-8
  425.  
  426.                                  CHAPTER 14
  427.  
  428.                                  KEYSTROKES,
  429.                              FONTS, AND SCRIPTS
  430.  
  431.     On the surface, the design of Sculpt Animate is such as
  432. to require the minimum of rote learning. Once you have
  433. grasped a few underlying concepts the rest should follow
  434. naturally. Likewise, if you do not use the program for a
  435. while, it should not take you long to get back up to speed.
  436.  
  437.     The drawback of this approach, with its extensive use of
  438. menus, is that the program cannot be operated as quickly as
  439. a keyboard based program could, in the hands of an
  440. experienced user. It is quicker to press a key on the
  441. keyboard than it is to make a menu selection, provided that
  442. you are able to remember which key to press to produce the
  443. effect of a specific menu command.
  444.  
  445.     To address this need, Sculpt Animate makes use of the
  446. keyboard in a number of ways. There are menu-defined
  447. keyboard equivalents, 'on-the-fly' user definable hot keys,
  448. keyboard-automated text font loading, and a scripting facility
  449. that allows Sculpt Animate to be 'programmed' to perform
  450. automated routines. Script routine 'macros' can even be
  451. attached to hot keys.
  452.  
  453.     These are all rather advanced features, so much so that
  454. it's unlikely that any one user will make full use of all of
  455. them. Each of them addresses a specific need, however, and
  456. they are here if you need them.
  457.  
  458. Keyboard menu equivalents
  459.  
  460.     As with most Amiga programs, there are a series of
  461. keyboard equivalents associated with the menus. When you
  462. scan through the menus you will notice that some commands
  463. have a notation like F1 to the right. This means that the
  464.  
  465.                                                                         14-1
  466.  
  467. command can also be executed by means of a keystroke, in
  468. this case the 'function key' marked 'F1'.
  469.  
  470.     Other commands are marked with the symbol A,
  471. followed by a letter. This means that the command can be
  472. accessed by holding down the right Amiga key while
  473. pressing the indicated letter key.
  474.  
  475.     The keyboard equivalent for a menu command will have
  476. precisely the same effect as the menu command itself would.
  477. Since the menu commands are all right there in the menus, it
  478. is easy to refresh your memory if you forget one.
  479.  
  480.     There is one 'universal' keyboard equivalent. Pressing
  481. the escape key (marked ESC) will cause the last menu 
  482. command to be repeated. This is particularly useful if you
  483. need to perform the same command many times in a row.
  484.  
  485.     For example, if you need to erase a dozen edges, point
  486. the cursor to the first edge and execute the command EDIT
  487. ERASE INDICATED EDGE. Then point the cursor at the
  488. second edge and press the escape key. Continue this
  489. sequence and you will find that it is much quicker than using
  490. the menu.
  491.  
  492. User settable hot keys
  493.  
  494.     The trouble with using the escape key as a short cut for a
  495. menu command is that it can only represent one command at
  496. a time. There is a way that each of the alphabetic keys, A
  497. through Z, can be assigned to a menu command, so you can
  498. set up as many as 26 single-stroke commands.
  499.  
  500.     If you press one of these while holding down the ALT
  501. key, then the alphabetic key becomes equivalent to the last
  502. menu command that was executed. This assignment will
  503. remain in effect until you quit the program.
  504.  
  505.     The problem with hot keys is that they require you to
  506. remember what is defined. Try to choose a letter that is 
  507. reminiscent of the command you are defining, such as 'C'
  508.  
  509.                                                                         14-2
  510.  
  511. for SELECT CONNECTED VERTICES. The relationship
  512. needn't be alphabetic, either, for instance, 'X' could be a hot
  513. key for SNAP CURSOR TO CENTER.
  514.  
  515.     There are fewer keys than commands, but you will find
  516. that certain commands are used together while you are doing
  517. certain types of editing. Because the keys can be freely
  518. redefined, you may find it useful to change your definitions
  519. as a project proceeds from one stage to another. This is a
  520. 'power user' technique, though, and not recommended
  521. unless you feel comfortable with it.
  522.  
  523. Fonts
  524.  
  525.     There are still more ways in which the keyboard can be
  526. used to save time. 3D Font object library disks designed for
  527. Sculpt Animate can be purchased separately, but it can be
  528. difficult to place these font character objects in the scene by
  529. hand.
  530.  
  531.     To ease the burden, Sculpt Animate has a keyboard-
  532. driven automated font loading mechanism which can be used
  533. with font disks laid out in a particular fashion.
  534.  
  535.     For Sculpt Animate's purposes, a font is a set of scene
  536. files containing three dimensional models of solid characters.
  537. Individual fonts will differ in which characters they contain,
  538. but most will contain the upper case characters, and some
  539. will contain other characters as well.
  540.  
  541.     To activate the type-in font feature, execute the command
  542. PROJECT LOAD FONT. A standard file requester will pop
  543. up to allow you to choose the directory in which the font's
  544. scene files reside. This time it is not necessary to select a
  545. particular file, just specify the correct volume and drawer,
  546. then click OK>
  547.  
  548.     Once a font is loaded, pressing any key that has a
  549. graphic symbol will cause the program to search the font
  550. directory. If the character is found, it will be loaded into the
  551.  
  552.                                                                         14-3
  553.  
  554. current window at the position of the cursor, and the cursor
  555. will be advanced to the right by the size of the character.
  556.  
  557.     The first character you type will be scaled so that its
  558. height is the same as the height of the current window.
  559. Subsequent characters will be scaled by the same proportion
  560. until the next time you execute LOAD FONT.
  561.  
  562.     So long as a font is loaded, all the keys, whether or not
  563. their corresponding font objects are actually available, will
  564. be assumed to be connected to the font. User definable hot
  565. keys will not operate, nor will the script based keystroke
  566. macros that will be defined in the next section. To re-enable
  567. the other uses of the keyboard, you must execute the
  568. command PROJECT UNLOAD FONT.
  569.  
  570.     We mentioned that fonts must be laid out in a particular
  571. fashion. For one thing, it will be assumed that characters
  572. were originally constructed in the North view, although they
  573. can be loaded into any view. The characters should also be
  574. saved with Save Object, with the cursor placed at each
  575. character's baseline and some distance West of its leftmost
  576. vertex.
  577.  
  578.     The cursor's left offset will be used to space each
  579. character from the previous one. The cursor's position in
  580. the other two dimensions will be used to align the characters
  581. in a row as they are loaded.. By carefully placing the cursor
  582. when each character is saved, both proportional spacing and
  583. correct handling of descenders can be provided for. Free
  584. vertices may also be saved with the character object, if
  585. necessary, to define the space it must occupy. These
  586. vertices will be ignored when the character is loaded.
  587.  
  588.     If, upon saving, the cursor was not placed to the left of
  589. the character's leftmost vertex, Sculpt Animate will try to
  590. estimate an appropriate spacing. The cursor will determine
  591. the character's baseline and depth alignment in any case.
  592.  
  593.     It is assumed that all a font's character scene files will be
  594. stored in a single directory, and that scenes for different
  595. fonts will be placed in separate directories.
  596.  
  597.                                                                         14-4
  598.  
  599.     Also, each character scene must be named correctly in
  600. order for Sculpt Animate to find it. The program will use
  601. these rules when looking for a character's scene:
  602.  
  603.     1)    If a lowercase alphabetic character is pressed--'a',
  604.         for example--then Sculpt Animate will look in the
  605.         selected font directory for files named like these
  606.         two, in this order: 'a.scene', and 'a_3D.scene'.
  607.  
  608.     2)    If an uppercase alphabetic character is pressed--
  609.         'A', for example--then Sculpt Animate will look
  610.         for files named like 'ua.scene' and
  611.         'acap_3D.scene'.
  612.  
  613.     3)    If a numeric key is pressed--'9' for example--then
  614.         Sculpt Animate will look for '9.scene' and
  615.         '9_3D.scene'.
  616.  
  617.     4)    If a slash (/) or colon (:) is pressed, Sculpt Animate
  618.         will look for 'slash.scene' or 'colon.scene',
  619.         respectively.
  620.  
  621.     5)    If any other printable character is pressed,
  622.         including the ALT modified characters listed in the
  623.         AmigaDOS manual, Sculpt Animate will first
  624.         append '.scene' to that character, then
  625.         '_3D.scene', and try to open files with these
  626.         names. Examples: '&.scene', and '&_3D.scene'.
  627.  
  628.     6)    If the character scene file still hasn't been found
  629.         after the preceding rules have been applied, the
  630.         '.scene' suffix will be affixed to the two-character
  631.         hexadecimal equivalent of the desired character's
  632.         ASCII code (for example, '3F.scene' if you
  633.         pressed '?'), and one last attempt will be made to
  634.         open the file.
  635.  
  636.     The last rule provides for characters which can be
  637. awkward to use in AmigaDOS file names. Some of these
  638. are: asterisk (*, hex equivalent 2A), space ( ,20), equals 
  639. (=,3D), plus (+,2B), single quote (',27), double quote
  640. (",22), question mark (?,3F), percent (%,25), sharp (#,23),
  641.  
  642.                                                                         14-5
  643.  
  644. vertical bar (|,7C), semicolon (;,3B), and parentheses (28
  645. and 29).
  646.  
  647. Scripts
  648.  
  649.     Although most people will want to operate Sculpt
  650. Animate in an interactive mode, it can also be controlled
  651. from a script command file. Script files are definitely an
  652. advanced tool, and will probably be of most interest to those
  653. with some knowledge of computer programming.
  654.  
  655.     A script file is a plain text file that has been typed in an
  656. saved with a text editor, such as the Amiga CLI's 'ED'
  657. command. All script file names must end with the extension
  658. '.script'.
  659.  
  660.     Once you have created and saved your script file, you
  661. can start its execution with the command PROJECT LOAD
  662. SCRIPT. This will invoke a standard file requester, which
  663. you can use to pick which script to load.
  664.  
  665.     When you click OK, Sculpt Animate will go through the
  666. script interpreting the commands in sequence. For instance,
  667. the following script will load in a scene, render it, and save
  668. the resulting image.
  669.  
  670.                 erase all
  671.         load scene "test.scene"
  672.         start
  673.         save image "test.image"
  674.  
  675.     A special exception to this behavior is initiated buy the
  676. MACRO command. This command defines a hot key
  677. 'macro', a set of script commands that can be executed by a
  678. single keystroke. The MACRO command is explicitly
  679. defined at the end of the next section. For an example, the
  680. following script defines a hot key that will grab a connected
  681. object by the indicated vertex and align it to the grid.
  682.  
  683.                                                                         14-6
  684.  
  685.                 macro z
  686.             snap cursor to vertex
  687.             select connected
  688.             grabber on
  689.             snap cursor to grid
  690.             grabber off
  691.             deselect connected
  692.         mend
  693.  
  694.     The command MEND ends the macro definition. The
  695. defined sequence of commands is indented here, but this is
  696. not necessary. It is, however, a recommended technique,
  697. since it makes the scripts much easier to read.
  698.  
  699.     If a file called 'startup.script' exists in the current
  700. directory when Sculpt Animate is run, then this script file is
  701. automatically executed. The startup script can be especially
  702. helpful for defining macros that you will want to use all the
  703. time. Note that you can define hot keys in the startup script
  704. as macros, as in the following example.
  705.  
  706.         macro t target        mend
  707.         macro l location    mend
  708.         macro g grabber    mend
  709.  
  710.     Notice that several statements may be placed on the same
  711. line. this should be reserved for fairly simple macros,
  712. though to keep things readable.
  713.  
  714.     As the ultimate step in using scripts, people with
  715. programming skills can write script-generating programs to
  716. create very sophisticated, special purpose scenes. A typical
  717. application of this technique would be to create specialized
  718. objects that lend themselves to mathematical techniques.
  719.  
  720.     Script writing programs would make extensive use of the
  721. cursor placement and edge creation commands described in
  722. the next section. These commands operate on the principle
  723. that (East, North, Up) would be equivalent to the
  724. coordinates (X,Y,Z) in traditional mathematics. Some
  725.  
  726.                                                                         14-7
  727.  
  728. example script-generating programs may be found on your
  729. Sculpt Animate distribution disks.
  730.  
  731. Script commands
  732.  
  733.     The following script commands are directly equivalent
  734. to menu commands. When part of the command is shown in
  735. lower case, that part is optional and may be abbreviated. It
  736. is a good idea to place each script command on a separate
  737. line.
  738.  
  739. Script command                    Menu command
  740.  
  741. LOAd CODe                                       PROJECT LOAD CODE
  742. LOAd WORkbench                    PROJECT LOAD WORKBENCH
  743. SHOw IMAge                    PROJECT SHOW IMAGE
  744. SHOw ANImation                    PROJECT SHOW ANIMATION
  745. SHOw PREview                    PROJECT SHOW PREVIEW
  746. UNLoad IMAge                    PROJECT UNLOAD IMAGE
  747. UNLoad ANImation                PROJECT UNLOAD ANIMATION
  748. UNLoad PREview                    PROJECT UNLOAD PREVIEW
  749. UNLoad FONt                    PROJECT UNLOAD FONT
  750. UNLoad CODe                    PROJECT UNLOAD CODE
  751. UNLoad WORkbench                PROJECT UNLOAD WORKBENCH
  752. SELect ALL                                      EDIT SELECT ALL
  753. SELect CONnected                                EDIT SELECT CONNECTED
  754. SELect INDicated VERtex                         EDIT SELECT INDICATED
  755.                                                     VERTEX
  756. SELect SWAp                    EDIT SELECT SWAP
  757. SELect INDicated EDGe                           EDIT SELECT INDICATED EDGE
  758. SELect INDicated SPLine                         EDIT SELECT INDICATED SPLINE
  759. SELect INDicated PATh                           EDIT SELECT INDICATED PATH
  760. DESelect ALL                    EDIT DESELECT ALL
  761. DESelect CONnected                EDIT DESELECT CONNECTED
  762. DESelect INDicated EDGE                         EDIT DESELECT INDICATED
  763.                                                     EDGE
  764. ERAse SELected VERtices                         EDIT ERASE SELECTED
  765.                                                     VERTICES
  766. ERAse SELected EDGes                            EDIT ERASE SELECTED EDGES
  767. ERAse INDicated VERtex                          EDIT ERASE INDICATED VERTEX
  768. ERAse INDicated EDGE                            EDIT ERASE INDICATED EDGE
  769. ERAse INDicated LAMp                            EDIT ERASE INDICATED LAMP
  770. ERAse ALL LAMps                                 EDIT ERASE ALL LAMPS
  771.  
  772.                                                                         14-8
  773.  
  774. ERAse INDicated PATH                            EDIT ERASE INDICATED PATH
  775. ERAse INDicated SPLine                          EDIT ERASE INDICATED SPLINE
  776. ERAse ALL                                       EDIT ERASE ALL
  777. SUBdivide                                       EDIT DO SUBDIVIDE
  778. FILl                                            EDIT DO FILL
  779. UNSlice                        EDIT DO UNSLICE
  780. REFlect                        EDIT DO REFLECT
  781. MAKe SPLine                    EDIT DO MAKE SPLINE
  782. MAKe PATh                                       EDIT DO MAKE PATH
  783. SHOw PATh                                       EDIT DO SHOW PATH POSITION
  784. HIDe                                            EDIT DO HIDE SELECTED
  785.                                                     VERTICES
  786. MAKe TV BIG                    EDIT DO MAKE TRI-VIEW BIG
  787. MAKe TV SMALL                    EDIT DO MAKE TRI-VIEW SMALL
  788. ADD DUPlicate                    EDIT ADD DUPLICATE
  789. ADD LAMp                                        EDIT ADD LAMP
  790. ADD VERtex                    EDIT ADD VERTEX
  791. ADD EDGes                                       EDIT ADD EDGES
  792. SNAp CURsor to VERtex                           EDIT SNAP CURSOR TO VERTEX
  793. SNAp CURsor to CENter                           EDIT SNAP CURSOR TO CENTER
  794. SNAp CURsor to CENTROID                         EDIT SNAP CURSOR TO
  795.                                                     CENTROID
  796. SNAp CURsor to GRId                EDIT SNAP CURSOR TO GRID
  797. SNAp SELected VERtices to GRId                  EDIT SNAP SELECTED VERTICES
  798.                                                     TO GRID
  799. SNAp CONnected VERtices TO SPHere               EDIT SNAP CONNECTED
  800.                                                     VERTICES TO SPHERE
  801. SNAp SELected VERtices to PLAne                 EDIT SNAP SELECTED VERTICES
  802.                                                     TO PLANE
  803. GRId OFF                                        EDIT GRID OFF
  804. EXTrude                        TOOLS EXTRUDE
  805. GRAbber ON                    TOOLS GRABBER
  806.                                                     (when grabber is off)
  807. GRAbber OFF                    TOOLS GRABBER
  808.                                                     (when grabber is on)
  809. WIReframe                                       OBSERVER MODE WIREFRAME
  810. SKEtch                        OBSERVER MODE SKETCH
  811. PAInting                                        OBSERVER MODE PAINTING
  812. SNApshot                                        OBSERVER MODE SNAPSHOT
  813. PHOto                        OBSERVER MODE PHOTO                    
  814. SCAnline PAInting                OBSERVER MODE SCANLINE 
  815.                                                     PAINTING
  816. SCAnline SNApshot                OBSERVER MODE SCANLINE
  817.                                                     SNAPSHOT
  818. LOres                        OBSERVER MODE LO-RES
  819. HIres                        OBSERVER MODE HI-RES
  820. NO INTerlace                    OBSERVER MODE NO-
  821.                                                     INTERLACE
  822. INTerlace                                       OBSERVER MODE INTERLACE
  823.  
  824.                                                                         14-9
  825.  
  826. LOCation                                        OBSERVER LOCATION
  827. TARget                        OBSERVER TARGET
  828. LENs NORmal                    OBSERVER LENS NORMAL
  829. LENs Telephoto                                  OBSERVER LENS TELEPHOTO
  830. LENs WIDeangle                    OBSERVER LENS WIDEANGLE
  831. EXPosure AUTo                    OBSERVER EXPOSURE AUTO
  832. IMAgesize TINy                    OBSERVER IMAGE SIZE TINY
  833. IMAgesize SMAll                                 OBSERVER IMAGE SIZE SMALL
  834. IMAgesize MEDium                OBSERVER IMAGE SIZE MEDIUM
  835. IMAgesize FULl                    OBSERVER IMAGE SIZE FULL
  836. IMAgesize JUMbo                                 OBSERVER IMAGE SIZE JUMBO
  837. IMAgesize VIDeo                                 OBSERVER IMAGE SIZE VIDEO
  838. ANTi aliasing NONe                OBSERVER ANTI-ALIASING
  839.                                                     NONE
  840. ANTi aliasing GOOd                OBSERVER ANTI-ALIASING
  841.                                                     GOOD
  842. ANTi aliasing BESt                OBSERVER ANTI-ALIASING
  843.                                                     BEST
  844. STArt                        OBSERVER START
  845.  
  846.     The next group of script commands correspond to menu
  847. commands, but additional data must be supplied, usually that
  848. which is given to a requester. Items shown in angle brackets
  849. stands for this data as follows.
  850.  
  851. <filename>        A complete file name, including
  852.                         the extension, enclosed in
  853.                         quotes. For example
  854.                         "littlehouse.scene".
  855.  
  856. <name>            A hierarchy name, enclosed in
  857.                         quotes. Parents and offspring
  858.                         are separated by plus signs. If
  859.                         the hierarchy does not exist, it is
  860.                         created. For example
  861.                         "bill+leftarm"
  862.  
  863. <rgb4>            Three numbers in the range 0 to
  864.                         15 represent red green and
  865.                         blue values. For example 15 15
  866.                         15 would represent white.
  867.  
  868. <rgb>            Three numbers in the range 0.0
  869.                         to 1.0 to represent red green and
  870.  
  871.                                                                         14-10
  872.  
  873.                         blue values. For example 1.0
  874.                         1.0 1.0 would represent white.
  875.  
  876. <number>                A numeric value.
  877.  
  878. <texture>               One of the following:
  879.                                 DULl
  880.                                 SHIny
  881.                                 MIRror
  882.                                 LUMinous
  883.                                 GLAss
  884.                                 METal
  885.  
  886. <side>            One of the following:
  887.                                 INWard
  888.                                 OUTward
  889.  
  890. <slope>            One of the following:
  891.                                 CALculated
  892.                                 SPEcified
  893.  
  894. <knot-type>        One of the following:
  895.                                 REGular
  896.                                 CUSp
  897.  
  898. <direction>        Three numbers representing a 
  899.                         direction. The first number is
  900.                         an eastward offset, the second
  901.                         northward and the third
  902.                         upward.
  903.  
  904. <character>        Any keyboard character that
  905.                         produced something on the
  906.                         screen except white space when
  907.                         it is typed. For example an
  908.                         alphabetic character, a digit or a
  909.                         special character. Not a space,
  910.                         tab, return, ALT etc.
  911.  
  912. <script commands>    Any sequence of script
  913.                         commands except MACRO and
  914.  
  915.                                                                         14-11
  916.  
  917.                         MEND. The sequence can span
  918.                         more than one line.
  919.  
  920.     When a reference is made to a coordinate, the current
  921. scaling as specified by the most recent Coordinates
  922. command is employed.
  923.  
  924.     When part of a command is optional, it is shown in
  925. square brackets. For example the command for loading a
  926. scene has the syntax.
  927.  
  928.         LOAd SCEne <filename> [LAMps] [OBServer]
  929.                 [WORld] [OBJects] [SELECTED]
  930.                 [DESELECTED]
  931.  
  932.     The actual command might be
  933.  
  934.            load sce "littlehouse.scene" lamps obj selected
  935.  
  936.     and mean that the littlehouse file is to be loaded, but only
  937. the objects and the lamps, with all loaded vertices being
  938. selected. The meaning of the following commands closely
  939. follows the menu commands. Where it is not obvious, it is
  940. explained.
  941.  
  942. LOAd SCEne <filename> [LAMps] [OBServer] [WORld]
  943.    [OBJects] [SELECTED] [DESELECTED]
  944.  
  945. LOAd IMAge <filename>
  946.  
  947. LOAd OBJect <filename> [SELECTED] [DESELECTED]
  948.  
  949. LOAd NAMed object <name> <filename>
  950.  
  951. LOAd TAKe <filename>
  952.  
  953. LOAd ANImation <filename>
  954.  
  955. LOAd FONt <filename>
  956.  
  957.                                                                         14-12
  958.  
  959. SAVe SCEne <filename> [LAMps] [OBServer] [WORld]
  960.    [OBJects] [ALL] [SELECTED]
  961.  
  962. SAVe IMAge <filename>
  963.  
  964. SAVe OBJect <filename>
  965.  
  966. SAVe NAMed object <name> <filename>
  967.  
  968. SELect NAMed vertices <name>
  969.  
  970. DESelect NAMed vertices <name>
  971.  
  972. ERAse NAMed vertices <name>
  973.  
  974. MODify WIRe-frame colors <rgb4><rgb4>
  975.  
  976. EXPAnd <number> [NS] [EW] [UD]
  977.    Note that the expand command will expand selected
  978.    vertices by the factor given by <number>. If none of
  979.    the keywords NS, EW or UD are supplied, then the
  980.    expansion is in all directions. NS stands for expansion
  981.    in the north-south direction, EW means east-west and
  982.    UD means up-down.
  983.  
  984. SPIn <number> <number> The first number is the number
  985.    of spin steps and the second number is the spin angle.
  986.    For example spin 12 360 would generate a 12 step full
  987.    circle object.
  988.  
  989. MAKe HELix <number> <number>
  990.    The first number is the number of spin steps per turn
  991.    and the second number is the total number of spin
  992.    steps. For example make helix 12 48 would generate a
  993.    four turn helix with 12 steps per turn.
  994.  
  995. ADD SPHere <number> <number>
  996.    The first number is the radius of the sphere and the
  997.    second number is the number of subdivisions.
  998.  
  999.                                                                         14-13
  1000.  
  1001. ADD HEMisphere <number> <number>
  1002.     The first number is the radius of the hemisphere and
  1003.     the second number is the number of subdivisions.
  1004.  
  1005. ADD CUBe <number>
  1006.     The number is the size of the cube.
  1007.  
  1008. ADD PRIsm <number>
  1009.     The number is the size of the prism.
  1010.  
  1011. ADD DISk <number> <number>
  1012.     The first number is the radius of the disk and the
  1013.     second number is the number of subdivisions.
  1014.  
  1015. ADD CIRcle <number> <number>
  1016.     The first number is the radius of the circle and the
  1017.     second number is the number of subdivisions.
  1018.  
  1019. ADD CYLinder <number> <number>
  1020.     The first number is the radius of the cylinder and the
  1021.     second number is the number of subdivisions. The
  1022.     height of the cylinder is twice the radius.
  1023.  
  1024. ADD TUBe <number> <number>
  1025.     The first number is the radius of the tube and the
  1026.     second number is the number of subdivisions. The
  1027.     height of the tube is twice the radius.
  1028.  
  1029. ADD CONe <number> <number>
  1030.     The first number is the radius of the cone and the
  1031.     second number is the number of subdivisions. The
  1032.     height of the cone is twice the radius.
  1033.  
  1034. NAMe SELected VERtices <name>
  1035.  
  1036. NAMe CONnected VERtices <name>
  1037.  
  1038. NAMe INDicated PATh <name>
  1039.  
  1040. NAMe INDicated LAMp <name>
  1041.  
  1042.                                                                         14-14
  1043.  
  1044. GRId ON <number>
  1045.     The number specifies the grid spacing.
  1046.  
  1047. COOrdinates <number>
  1048.     The number specifies the number of decimal places.
  1049.     This command should normally be issued before any
  1050.     other script command that employs coordinate values
  1051.     or measurements.
  1052.  
  1053. MAGnet ATTract <number>
  1054.     The number represents the strength of the magnet in
  1055.     terms of its standard value.
  1056.  
  1057. MAGnet REPel <number>
  1058.     The number represents the strength of the magnet in
  1059.     terms of its standard value.
  1060.  
  1061. BITplanes <number>
  1062.     
  1063. BITPLANES 24 <filename> <filename> <filename>
  1064.              <number> <number>
  1065.              <number> <number>
  1066.     The three filenames are for red, green and blue data.
  1067.     The first number is the relative pixel width. The
  1068.     second number is the relative pixel height. The third
  1069.     number is the image width. The fourth number is the
  1070.     image height. All the number must be integers.
  1071.  
  1072. LENs SPEcial <number>
  1073.     The number is the focal length of the lens in
  1074.     millimeters.
  1075.  
  1076. EXPOsure MANual <number>
  1077.     The number is the exposure override value expressed
  1078.     as a percentage of the standard value. For example exp
  1079.     manual 50 would make the picture half as bright as
  1080.     normal.
  1081.  
  1082. DIThering <number>
  1083.  
  1084. The number represents the percentage of standard dithering.
  1085.  
  1086.                                                                         14-15
  1087.  
  1088. TILt <number>
  1089.  
  1090.     The following commands have no menu equivalents, but
  1091. correspond to requester functions.
  1092.  
  1093.        ERASE TAKE
  1094.             Remove a Take from memory.
  1095.  
  1096.        FACe COLor <rgb>
  1097.  
  1098.        SET FACe COLor
  1099.  
  1100.        SMOothing OFF
  1101.  
  1102.        SMOothing ON
  1103.  
  1104.        TEXture <texture>
  1105.  
  1106.        SET TEXture
  1107.     
  1108.        BLEnd FACe COLor
  1109.  
  1110.        FETch FACe TEXture
  1111.  
  1112.        LAMp COLor <rgb>
  1113.  
  1114.        LAMp BRIghtness <number>
  1115.  
  1116.        BLEnd LAMp COLor Blends the color of all lamps
  1117.  
  1118.        BLEnd LAMp BRIghtness Blends the brightness of
  1119.              all lamps.
  1120.  
  1121.        FETch INDicated LAMp COLor
  1122.  
  1123.        FETch INDicated LAMp BRIghtness
  1124.  
  1125.        SET INDicated LAMp COLor
  1126.  
  1127.                                                                         14-16
  1128.  
  1129.        SET INDicated LAMp BRIghtness
  1130.  
  1131.        SET COLor ALL LAMps
  1132.  
  1133.        SET BRIghtness of ALL LAMps
  1134.  
  1135.     For the KNOt commands to work, the knot which is to
  1136. be altered must be indicated by the cursor.
  1137.  
  1138.        KNOt INWard
  1139.             If the knot is a cusp, subsequent speeds or
  1140.             specified slopes will apply to the inward side
  1141.             of the cusp.
  1142.  
  1143.        KNOt OUTward
  1144.             If the knot is a cusp, subsequent speeds or
  1145.             specified slopes will apply to the outward
  1146.             side of the slope.
  1147.  
  1148.        KNOt CALculated
  1149.             The slope (or slopes, for a cusp) will be
  1150.             calculated.
  1151.  
  1152.        KNOt SPECified <direction>
  1153.             The direction is used to set the knot's slope.
  1154.  
  1155.        KNOt REGular
  1156.             The knot is turned into a non-cusp.
  1157.  
  1158.        KNOt SPEEd <number>
  1159.             The number specifies the knot's speed. A
  1160.             value of 1.0 corresponds to the middle of the
  1161.             speed slider.
  1162.  
  1163.        TUMble INTerpolated
  1164.  
  1165.        TUMble SPEcified <direction> <direction>
  1166.             The first direction indicates the east tumble
  1167.  
  1168.                                                                         14-17
  1169.  
  1170.             axis, the second indicates the north tumble
  1171.             axis.
  1172.        TAKe NUMber of FRAmes <number>
  1173.  
  1174.        TAKe PREview SIZe FULl
  1175.  
  1176.        TAKe PREview SIZe HALF
  1177.  
  1178.        TAKe MOTion BLUr YES
  1179.  
  1180.        TAKe MOTion BLUr NO
  1181.  
  1182.        TAKe RAM YES
  1183.  
  1184.        TAKe RAM NO
  1185.  
  1186.        TAKe RAM ECOnomy
  1187.  
  1188.        TAKe SAVe IMAges YES
  1189.  
  1190.        TAKe SAVe IMAges NO
  1191.  
  1192.        TAKe LOOp LOOp
  1193.  
  1194.        TAKe LOOp OSCillate
  1195.  
  1196.        TAKe LOOp NONe
  1197.  
  1198.        TAKe ANImation DRAwer <filename>
  1199.  
  1200.        TAKe FOReground <filename>
  1201.  
  1202.        TAKe BACkground <filename>
  1203.  
  1204.        TAKe SAVe GLObal SCEne
  1205.  
  1206.        TAKe PREview
  1207.  
  1208.        TAKe LOAd GLObal SCEne
  1209.  
  1210.        TAKe RENder ALL
  1211.  
  1212.                                                                         14-18
  1213.  
  1214.        TAKe DELete ALL IMAges
  1215.  
  1216.        TAKe CURrent FRAme <number>
  1217.  
  1218.        TAKe KEY frame YES
  1219.  
  1220.        TAKe KEY frame NO
  1221.  
  1222.        TAKe DURation <number>
  1223.  
  1224.        TAKe IMAge DRAwer <filename>
  1225.  
  1226.        TAKe SCEne DRAwer <filename>
  1227.  
  1228.        TAKe SAVe KEY FRAme SCEne
  1229.  
  1230.        TAKe  RENder FRAme
  1231.  
  1232.        TAKe DELete CURrent IMAge
  1233.  
  1234.        TAKe LOAd KEY FRAme SCEne
  1235.  
  1236.        TAKe FRAme BUFfer <filename>
  1237.  
  1238.        TAKe NO FRAme BUFfer
  1239.  
  1240.        TAKe FRAme CONtroller <filename>
  1241.  
  1242.        TAKe NO FRAme CONtroller
  1243.  
  1244.        SKY GRAduated <rgb> <rgb>
  1245.             The first color is the zenith color and the
  1246.             second is the horizon color.
  1247.  
  1248.        SKY SOLid <rgb>
  1249.  
  1250.        SKY NONe
  1251.  
  1252.        GROund NONe
  1253.  
  1254.        GROund SOLid <rgb>
  1255.  
  1256.                                                                         14-19
  1257.  
  1258.        GROund CHEckered <rgb> <rgb>
  1259.  
  1260.        GROund SCAle <number>
  1261.             The number is the size of the checkerboard
  1262.             squares.
  1263.  
  1264.        ILLumination <rgb>
  1265.  
  1266.     The final group of script commands perform functions
  1267. related to the cursor, the keyboard, and the Tri-View.
  1268.  
  1269.        ROTate CLOckwise <number>
  1270.  
  1271.        ROTate COUnterclockwise <number>
  1272.  
  1273.        WINdow North
  1274.             Select the northward window. The window
  1275.             commands are important if you plan to use
  1276.             the ROTate commands.
  1277.  
  1278.        WINdow South
  1279.  
  1280.        WINdow East
  1281.  
  1282.        WINdow West
  1283.  
  1284.        WINdow Up
  1285.  
  1286.        WINdow Down
  1287.  
  1288.        TRI-view SIZe <number> <number> <number>
  1289.             Sets the size of the block of space that the
  1290.             Tri-View represents. The first number is the
  1291.             size in the eastward direction, the second in
  1292.             the northward direction and the third in the
  1293.             upward direction. No size can be less than
  1294.             on tenth of the largest size.
  1295.  
  1296.        REFRESH
  1297.             Refresh the Tri-View
  1298.  
  1299.                                                                         14-20
  1300.  
  1301.        (<number>, <number>,<number>)
  1302.             Move the cursor to the specified absolute
  1303.             position.
  1304.  
  1305.        [<number>,<number>,<number>]
  1306.             Move the cursor to a certain offset from its
  1307.             current position.
  1308.  
  1309.        (<number>,<number>,<number>)-
  1310.             (<number>,<number>,<number>)
  1311.             Create a vertex at each location, unless one
  1312.             already exists. Join them with an edge.
  1313.             Edges built this way may be chained into any
  1314.             length of curve. If the first and last vertices
  1315.             in a list of joined vertices match, then the list
  1316.             describes a closed loop. A closed loop of
  1317.             only three edges creates a face.
  1318.  
  1319.        MACRO <character> <script commands> MEND
  1320.             This command associates the sequence of
  1321.             script commands with the specified character.
  1322.             When the key corresponding to the character
  1323.             is pressed, the commands are executed. If
  1324.             any hot keys are set up with the ALT key,
  1325.             macros will replace them. New hot keys will
  1326.             override macros for the same key. No
  1327.             modifier key, such as the Amiga keys, the
  1328.             ALT keys or the shift keys may be used
  1329.             when defining or using macros. If a font is
  1330.             loaded, it will always take precedence over
  1331.             hot keys and macros. After a font is
  1332.             unloaded, macros and hot keys will start
  1333.             working again.
  1334.  
  1335.     Because the file "startup.script" is always executed when
  1336. Sculpt Animate is started, you can use this file to change the
  1337. default settings to customize your system and install personal
  1338. macros.
  1339.  
  1340.                                                                         14-21
  1341.  
  1342. Batch mode
  1343.  
  1344.     One additional automated method of operating the
  1345. program has been provided. Execute the command
  1346. PROJECT BATCH and an empty scene file list will pop up. 
  1347. You can repeatedly click the ADD FILE gadget and select a
  1348. file to render in the file requester that will appear. No more
  1349. than 14 files may be selected. Click on a file's name in the
  1350. batch list to remove it. When you click OK, the program
  1351. will begin rendering an image for each scene. This
  1352. command is convenient if you want to make several images
  1353. and you do not wish to remain near the computer.
  1354. Alternatively, you may prepare a script file to do the same
  1355. thing.
  1356.  
  1357. Conclusion
  1358.  
  1359.     Now that you have mastered Sculpt Animate you can use
  1360. the reference manual in the appendix if you forget how a
  1361. particular command works.
  1362.  
  1363.     The scenes that you can build with Sculpt Animate are
  1364. limited only by your imagination and the amount of memory
  1365. on your Amiga. Enjoy the product and enrich the world
  1366. with your creations!
  1367.  
  1368.                                                                         14-22
  1369.  
  1370.                                 APPENDIX A
  1371.  
  1372.                   SCULPT ANIMATE
  1373.                            FUNCTIONAL REFERENCE
  1374.  
  1375. The geometry of Sculpt Animate
  1376.  
  1377.     The Tri-View is a rectangular block of space that is
  1378. represented by three windows showing wire frame
  1379. projections of the contents of the Tri-View. The size and
  1380. shape of the Tri-View may be changed.
  1381.  
  1382.     The geometry of surfaces is defined by vertices, edges
  1383. and faces. A vertex is a single point in space. It may be 
  1384. selected or unselected. Vertices are never visible in the 
  1385. images, but are displayed in the Tri-View either as purple for
  1386. unselected vertices or yellow for selected vertices.
  1387.  
  1388.     An edge may be created between two vertices. An edge
  1389. is displayed in the Tri-View as a dark line. Edges are not 
  1390. displayed in images, except in wire frame mode. An edge is
  1391. considered to be selected if both its vertices are selected.
  1392.  
  1393.     A face is created whenever three vertices are joined by
  1394. three edges so each face is triangular. Faces are not
  1395. explicitly shown in the Tri-View, but they are displayed in
  1396. the images generated by Sculpt Animate. Faces have a
  1397. specified color, texture and smoothness. The color is
  1398. defined by the reflection coefficients for red, green and blue
  1399. light. The coefficients range from zero to one hundred
  1400. percent. The texture may be either dull, shiny, mirror,
  1401. luminous, glass, or metal. If a face has the smoothness
  1402. property, it is curved so as to blend with adjacent faces.
  1403.  
  1404.     The location of the observer in the Tri-View is shown by
  1405. a small blue circle. The position of the observer's target is
  1406. shown by a small blue x. The position of any lamps are
  1407. shown by a small white star.
  1408.  
  1409.                                                                         A-1
  1410.  
  1411. The Tri-View Gadgets
  1412.  
  1413. DRAG BAR GADGET
  1414.  
  1415.     This is a standard Intuition gadget located in the upper
  1416. border of each window. It is used to drag the window to a
  1417. new location on the screen.
  1418.  
  1419. THE BACK GADGET AND THE FRONT GADGET
  1420.  
  1421.     These are standard Intuition gadgets that change the
  1422. depth arrangement of windows on the screen.
  1423.  
  1424. THE REVERSE GADGET
  1425.  
  1426.     This reverses the viewing direction of a Tri-View
  1427. window. The first window is normally a downward view.
  1428. Pressing this gadget will make it an upward view. This is
  1429. achieved by replacing the contents of the window by its
  1430. mirror image, thus the first window will have east on the left
  1431. and west on the right.
  1432.  
  1433. THE MOVE TRI-VIEW GADGETS
  1434.  
  1435.     These gadgets are located in the center of each border
  1436. and cause the Tri-View to move in the indicated direction.
  1437. The effect is to make the contents of the Tri-View move in
  1438. the opposite direction. Holding down the left Amiga key
  1439. while using a Move Gadget causes the size of the move to be
  1440. smaller than usual. If the right Amiga key is depressed, the
  1441. Move Gadget moves the Tri-View further than usual.
  1442.  
  1443.                                                                         A-2
  1444.  
  1445. THE EXPAND TRI-VIEW GADGET
  1446.  
  1447.     This gadget causes the Tri-View to expand. If it is used
  1448. with the left Amiga key, the expansion is small. If it is used
  1449. with the right Amiga key, the expansion is large. The
  1450. expansion can be made larger or smaller still by using the left
  1451. or right ALT keys instead of the Amiga keys.
  1452.  
  1453. THE SIZING GADGET
  1454.  
  1455.     This is a standard Intuition gadget for changing the size
  1456. of a Tri-View window. Since each window represents a
  1457. block of space, changing one window's size will result in
  1458. one or more other windows changing size also.
  1459.  
  1460. THE CONTRACT TRI-WINDOW GADGET
  1461.  
  1462.     This gadget causes the Tri-View to contract. If it is used
  1463. with the left Amiga key, the contraction is small. If it is used
  1464. with the right Amiga key, the contraction is large. The
  1465. contraction can be made larger or smaller still by using the
  1466. left or right ALT keys instead of the Amiga keys.
  1467.  
  1468. THE CENTER TRI-VIEW GADGET
  1469.  
  1470.     This gadget causes the Tri-View to move so that the
  1471. cursor is left in the center of the Tri-View. If the gadget is
  1472. used while the left Amiga key is held down, the Tri-View
  1473. windows are re-sized to their default size. If the gadget is
  1474. used in conjunction with the right Amiga key, the Tri-View
  1475. is centered on the default origin.
  1476.  
  1477.                                                                         A-3
  1478.  
  1479. THE GRABBER GADGET
  1480.  
  1481.     This gadget can be toggled on or off. If the Grabber is
  1482. on, all of the selected vertices will move when the cursor is
  1483. moved. The Grabber is always turned off when the right
  1484. mouse key is pressed to pull down a menu. When the 
  1485. Grabber is active, the icon for the cursor shows a small
  1486. Grabber icon on the upper crosshair. If the Grabber is used
  1487. when no vertices are selected, and the cursor indicates a
  1488. lamp, then the Grabber can be used to move the lamp.
  1489.  
  1490. THE EDGE BUILDING GADGET
  1491.  
  1492.     If either two or three vertices are selected, then edges are
  1493. constructed between the selected vertices. If nothing
  1494. happens when you use this gadget, except that the screen
  1495. flashes at you, it means that there are more than three
  1496. selected vertices. Perhaps the extra vertices are outside the
  1497. Tri-View, or you may have two vertices occupying the same
  1498. position, both selected.
  1499.  
  1500. THE SELECT GADGET
  1501.  
  1502.     This gadget changes the selection state of all vertices
  1503. within the Tri-View. If one or more vertices in the Tri-View
  1504. are selected, then they will be unselected. If no vertices in
  1505. the Tri-View are selected, than all the vertices in the Tri-
  1506. View will be selected. In either case, the state of vertices
  1507. outside the Tri-View are unchanged.
  1508.  
  1509. THE ROTATE GADGETS
  1510.  
  1511.     These gadgets cause selected vertices to rotate about the
  1512. cursor in the indicated direction. Normally the vertices are
  1513. rotated by 5 degrees for each click on the gadget. If the left
  1514. Amiga key is held down, then the rotation is by one degree.
  1515.  
  1516.                                                                         A-4
  1517.  
  1518. If the right Amiga key is held down the rotation is by 45
  1519. degrees. If the gadget is used with the left ALT key the
  1520. rotation is 0.1 degrees. If it is used with the right ALT key,
  1521. the rotation is 180 degrees.
  1522.  
  1523. NON-STANDARD USE OF THE MOUSE BY THE TRI-
  1524. VIEW
  1525.  
  1526.     When the left mouse button is pressed down, and the
  1527. pointer is over a Tri-View window, then the current tool is
  1528. dragged by the mouse. Special actions take place when a
  1529. specific tool is picked, see the descriptions for
  1530. TOOLS/SELECTOR, TOOLS/DESELECTOR,
  1531. TOOLS/MAGNET, TOOLS/CURVE, TOOLS/EXTRUDE,
  1532. TOOLS/EDGE MAKER and TOOLS/GRABBER for more
  1533. details. When the default tool is active, the cursor is
  1534. represented by a blue cross and the following actions
  1535. happen:
  1536.  
  1537.     If the left mouse button is pressed, the cursor is moved
  1538. to the pointer position. If the left button is held down while
  1539. the mouse is moved, then the cursor will move.
  1540.  
  1541.     If the right mouse button is pushed while the left button
  1542. is held down, then a new vertex is created at the cursor
  1543. position.
  1544.  
  1545.     If the cursor is moved very close to a vertex in one
  1546. window of the Tri-View, and the left mouse button is double
  1547. clicked, the vertex will be selected if it was unselected, or
  1548. vice versa. The cursor will snap to the location of the vertex
  1549. in the other two windows.
  1550.  
  1551.     If an image is being displayed on the screen, it may be
  1552. pushed behind the Tri-View screen by first clicking on the
  1553. image. The pointer will disappear. If the right mouse button
  1554. is pressed, the image will be pushed behind the Tri-View
  1555. screen.
  1556.  
  1557.                                                                         A-5
  1558.  
  1559. Menu Commands
  1560.  
  1561.     The menu commands are shown below. Each command
  1562. is broken into two or three parts with a slash character (/)/
  1563. The first part is the menu heading, the second part is the
  1564. menu item, and the third part, if present, is the menu
  1565. subitem
  1566.  
  1567. PROJECT/LOAD/SCENE
  1568.  
  1569.     This command invokes a file requester that displays the
  1570. names of files that contain scenes. See the description of file
  1571. requesters. If a scene file is selected, Sculpt Animate opens
  1572. the file and a requester pops up asking which portions of the
  1573. file are to be loaded. A scene may contain data on objects.
  1574. lamps, the observer or the world. Click on the boxes to
  1575. toggle them between YES and NO to specify which parts of
  1576. the file are to be loaded. Click on the OK button to start 
  1577. loading. A bow is also available to let you specify if you
  1578. want objects in the scene to be loaded in a selected or
  1579. unselected state.
  1580.  
  1581.     Any objects of lamps that are loaded will be added,
  1582. preexisting lamps or objects will be retained. If an observer
  1583. or world is loaded, these attributes will override any existing
  1584. observer or world attributes.
  1585.  
  1586. PROJECT/LOAD/IMAGE
  1587.  
  1588.     This command invokes a file requester and displays the
  1589. names of files that contain images. If a file is selected, the
  1590. image is displayed.
  1591.  
  1592. PROJECT/LOAD/OBJECT
  1593.  
  1594.     This command invokes a file requester and displays the
  1595. names of files that contain scenes. If a file is selected, any
  1596. objects that are found in the file are loaded at a position
  1597. relative to the cursor.
  1598.  
  1599.                                                                         A-6
  1600.  
  1601. PROJECT/LOAD/SCRIPT
  1602.  
  1603.     This command invokes a file and displays the names of
  1604. script files. Script files may be prepared with a text editor
  1605. and contain commands that Sculpt Animate can execute. The 
  1606. command syntax is described in Chapter 14. If a file is
  1607. selected, the script commands are executed.
  1608.  
  1609. PROJECT/LOAD/NAMED OBJECT
  1610.  
  1611.     This command invokes a hierarchy requester. If a name
  1612. is selected, then a scene file requester is displayed. If a file
  1613. is selected then the objects in the scene are loaded and added
  1614. into the hierarchy at the location chosen in the hierarchy
  1615. requester.
  1616.  
  1617. PROJECT/LOAD/TAKE
  1618.  
  1619.     A file requester is invoked that lets you select a Take.
  1620.  
  1621. PROJECT/LOAD/ANIMATION
  1622.  
  1623.     A file requester is invoked that lets you select an
  1624. animation. If you select a file, the animation is loaded into
  1625. memory and may be displayed with the command
  1626.  
  1627. PROJECT/SHOW/ANIMATION
  1628.  
  1629.     The current animation is displayed.
  1630.  
  1631. PROJECT/LOAD/FONT
  1632.  
  1633.     A file requester is invoked that lets you select a font. If a
  1634. font is selected, it is loaded and subsequent keystrokes will
  1635. cause appropriate objects to be loaded, if the font contains
  1636. objects corresponding to the keystrokes. The objects are
  1637. loaded into the current window and the cursor is moved by
  1638. an amount equal to the size of the object.
  1639.  
  1640.                                                                         A-7
  1641.  
  1642. PROJECT/LOAD/CODE
  1643.  
  1644.     If this command is executed, an attempt will be made to
  1645. keep all the program code in memory. If free memory falls
  1646. below a prescribed minimum, then some code will be
  1647. unloaded.
  1648.  
  1649. PROJECT/LOAD/WORKBENCH
  1650.  
  1651.     An attempt will be made to load the Amiga Workbench.
  1652.  
  1653. PROJECT/SAVE/SCENE
  1654.  
  1655.     This command causes the current scene to be written to
  1656. the disk. A file requester pops up to solicit the name of a 
  1657. file. If a file name is chosen, a requester will then pop up
  1658. asking which parts of a scene are to be saved. You may
  1659. click on the boxes to toggle them from YES to NO. In 
  1660. addition you may specify if all objects are to be saved, or
  1661. only the selected objects. Click on the box to toggle it
  1662. between ALL and SELECTED. If the OK gadget is
  1663. selected, the specified parts of the scene will be written to the
  1664. file that was named earlier.
  1665.  
  1666. PROJECT/SAVE/IMAGE
  1667.  
  1668.     This command is only available if an image has been
  1669. rendered or loaded. It causes the current image to be written
  1670. to the disk. A requester pops up to solicit the name of a file.
  1671.  
  1672. PROJECT/SAVE/OBJECT
  1673.  
  1674.     This command causes selected objects in the current
  1675. scene to be written to the disk. A requester pops up to solicit
  1676. the name of a file. When the objects are written to the disk,
  1677. their positions are taken to be relative to the cursor.
  1678.  
  1679. PROJECT/SAVE/NAMED OBJECT
  1680.  
  1681.     This command invokes a hierarchy requester. If you
  1682. select a name, then a file requester will pop up. After
  1683. selecting a file, then objects with the chosen name are saved
  1684.  
  1685.                                                                         A-8
  1686.  
  1687. to the scene file with hierarchy names derived by stripping
  1688. off the parent of the current name.
  1689.  
  1690. PROJECT/SHOW/IMAGE
  1691.  
  1692.     If an image is loaded, then it will be displayed on the
  1693. screen. The image can be pushed back by pointing at the
  1694. image and first clicking with the left mouse button and then
  1695. clicking with the right mouse button.
  1696.  
  1697. PROJECT/SHOW/ANIMATION
  1698.  
  1699.     If an animation is loaded, it is displayed. The animation
  1700. can be stopped by clicking the right mouse button or by
  1701. pressing the escape key. The speed of the animation can be
  1702. changed by pressing the keys 0 to 9.
  1703.  
  1704. PROJECT/SHOW/PREVIEW
  1705.  
  1706.     If an animation is loaded into memory, it is displayed.
  1707. The preview can be stopped by clicking with the right mouse
  1708. button or by pressing the escape key. The speed of the
  1709. animation can be changed by pressing the keys 0 to 9.
  1710. When a preview is stopped, you will be asked if you wish to
  1711. unload it.
  1712.  
  1713. PROJECT/UNLOAD/IMAGE
  1714.  
  1715.     If an image is loaded, it is removed, and the memory that
  1716. it used is made available for other purposes.
  1717.  
  1718. PROJECT/UNLOAD/ANIMATION
  1719.  
  1720.     If an animation is loaded, it is removed, and the memory
  1721. that it used is made available for other purposes.
  1722.  
  1723. PROJECT/UNLOAD/PREVIEW
  1724.  
  1725.     If a preview is loaded, it is removed, and the memory
  1726. that it used is made available for other purposes.
  1727.  
  1728.                                                                         A-9
  1729.  
  1730. PROJECT/UNLOAD/FONT
  1731.  
  1732.     If a font is loaded, it is unloaded and keys resume their
  1733. normal operation as hot keys or macros.
  1734.  
  1735. PROJECT/UNLOAD/CODE
  1736.  
  1737.     All unneeded code is removed from memory unit it is
  1738. needed. As soon as code is no longer needed, it is again
  1739. unloaded.
  1740.  
  1741. PROJECT/UNLOAD/WORKBENCH
  1742.  
  1743.     An attempt is made to remove the Amiga Workbench.
  1744. This will fail if a CLI window is present.
  1745.  
  1746. PROJECT/BATCH
  1747.  
  1748.     A requester pops up that allows you to select one or
  1749. more scene files. Images are then rendered for each of the
  1750. selected files.
  1751.  
  1752. PROJECT/ABOUT
  1753.  
  1754.     The version number and other information about Sculpt
  1755. Animate is displayed.
  1756.  
  1757. PROJECT/QUIT
  1758.  
  1759.     After verifying that this is your intention, Sculpt Animate
  1760. stops operating and returns control to the workbench or CLI.
  1761.  
  1762. EDIT/SELECT/ALL
  1763.  
  1764.     All vertices, and hence all edges and faces, become
  1765. selected.
  1766.  
  1767. EDIT/SELECT/CONNECTED
  1768.  
  1769.     All vertices that are connected, directly or indirectly, to
  1770. the indicated vertex become selected. If a vertex lies within a
  1771. few pixels of the cursor in the active window of the Tri-
  1772.  
  1773.                                                                         A-10
  1774.  
  1775. View, this vertex is considered the indicated vertex. If more
  1776. than one vertex meets this criteria and they are distributed in
  1777. depth, then the indicated vertex is the one that is closest to
  1778. the cursor in the depth direction.
  1779.  
  1780. EDIT/SELECT/INDICATED VERTEX
  1781.  
  1782.     The vertex that is indicated by the cursor is selected.
  1783.  
  1784. EDIT/SELECT/SWAP
  1785.  
  1786.     All selected vertices become deselected and vice versa.
  1787.  
  1788. EDIT/SELECT/INDICATED EDGE
  1789.  
  1790.     If an edge is indicated by the cursor, then the two
  1791. vertices that define the edge are selected.
  1792.  
  1793. EDIT/SELECT/INDICATED SPLINE
  1794.  
  1795.     If the cursor indicates a vertex that is part of a spline,
  1796. then all the knots on the spline are selected.
  1797.  
  1798. EDIT/SELECT/INDICATED PATH
  1799.  
  1800.     If the cursor indicates a path, then all the vertices on the
  1801. path are selected.
  1802.  
  1803. EDIT/DESELECT/ALL
  1804.  
  1805.     All vertices, and hence all edges and faces become
  1806. deselected.
  1807.  
  1808.                                                                         A-11
  1809.  
  1810. EDIT/DESELECT/CONNECTED
  1811.  
  1812.     All vertices that are connected, directly or indirectly, to
  1813. the indicated vertex become deselected. If a vertex lies
  1814. within a few pixels of the cursor in the active window of the
  1815. Tri-View, this vertex is considered the indicated vertex. If
  1816. more than one vertex meets this criteria and they are
  1817. distributed in depth, then the indicated vertex is the one that
  1818. is closest to the cursor in the depth direction.
  1819.  
  1820. EDIT/DESELECT/INDICATED VERTEX
  1821.  
  1822.     The vertex that is indicated by the cursor is selected.
  1823.  
  1824. EDIT/DESELECT/SWAP
  1825.  
  1826.     All selected vertices become deselected and vice versa.
  1827.  
  1828. EDIT/DESELECT/NAMED VERTICES
  1829.  
  1830.     A hierarchy requester will be invoked. After selecting a
  1831. name, if the OK button is pressed, all the named vertices will
  1832. be deselected.
  1833.  
  1834. EDIT/DESELECT/INDICATED EDGE
  1835.  
  1836.     If an edge is indicated by the cursor, then the two
  1837. vertices that define the edge are deselected.
  1838.  
  1839. EDIT/ERASE/SELECTED VERTICES
  1840.  
  1841.     All selected vertices are erased. Any edges and faces that
  1842. are defined by these vertices are also erased.
  1843.  
  1844. EDIT/ERASE/SELECTED EDGES
  1845.  
  1846.     All selected edges are erased. Any faces that are defined
  1847. by these edges are also erased. A selected edge is one that
  1848. has a selected vertex at each end.
  1849.  
  1850.                                                                         A-12
  1851.  
  1852. EDIT/ERASE/INDICATED VERTEX
  1853.  
  1854.     The vertex that is indicated by the cursor is erased.
  1855.  
  1856. EDIT/ERASE/INDICATED EDGE
  1857.  
  1858.     The edge that is indicated by the cursor is erased.
  1859.  
  1860. EDIT/ERASE/INDICATED LAMP
  1861.  
  1862.     The indicated lamp is erased. If a lamp lies within a few
  1863. pixels of the cursor in the active window of the Tri-View,
  1864. this lamp is considered the indicated lamp. If more than one
  1865. lamp meets this criteria and they are distributed in depth, 
  1866. then the indicated lamp is the one that is closest to the cursor
  1867. in the depth direction.
  1868.  
  1869. EDIT/ERASE/ALL LAMPS
  1870.  
  1871.     All lamps are erased.
  1872.  
  1873. EDIT/ERASE/NAMED VERTICES
  1874.  
  1875.     A hierarchy requester will pop up. If a name is selected
  1876. and the OK button pressed, all named vertices will be
  1877. erased.
  1878.  
  1879. EDIT/ERASE/INDICATED SPLINE
  1880.  
  1881.     If the indicated vertex is a member of a spline, then the
  1882. spline is erased. Only the underlying spline structure is
  1883. erased, the vertices and edges belonging to the spline
  1884. remain.
  1885.  
  1886. EDIT/ERASE/INDICATED PATH
  1887.  
  1888.     If the indicated vertex is a member of a path, then the
  1889. path is erased. Only the underlying path structure is erased,
  1890. the vertices and edges belonging to the path remain.
  1891.  
  1892.                                                                         A-13
  1893.  
  1894. EDIT/ERASE/ALL
  1895.  
  1896.     All vertices, edges and lamps are erased. If a take is
  1897. loaded, you will be asked if you want to have the take
  1898. erased. Erasing a take only removes the take in memory.
  1899. The copy of the take on disk still remains.
  1900.  
  1901. EDIT/MODIFY/FACES
  1902.  
  1903.     The modify faces requester is invoked. It can be used to
  1904. change the default color, texture and smoothing for yet to be
  1905. created faces. it can also examine and change the color,
  1906. texture and smoothness of selected faces.
  1907.  
  1908. EDIT/MODIFY/MODIFY LAMPS
  1909.  
  1910.     The modify lamps requester is invoked. It can be used
  1911. to change the default color and brightness that is used for
  1912. newly created lamps. It can also examine and change the
  1913. color and brightness of either an indicated lamp or all
  1914. existing lamps.
  1915.  
  1916. EDIT/MODIFY/WIRE-FRAME COLORS
  1917.  
  1918.     This command invokes a color requester that can be used
  1919. to modify the background color and the color used to draw
  1920. edges for wireframe and preview renderings. Click on the 
  1921. button at the top right to toggle between FIELD and LINES,
  1922. and use the color sliders in the usual manner.
  1923.  
  1924. EDIT/MODIFY/LOCAL ORIGIN
  1925.  
  1926.     A hierarchy requester is invoked. Use the SET button to
  1927. set the local origin to the cursor position. Use the LOCK
  1928. button to lock the local origin onto an indicated vertex. The
  1929. SHOW button will move the cursor to the local origin.
  1930.  
  1931. EDIT/MODIFY/INDICATED KNOT
  1932.  
  1933.     The modify knot requester is invoked, it can be used to
  1934. modify the parameters of a spline. See Modify Knot,
  1935. below.
  1936.  
  1937.                                                                         A-14
  1938.  
  1939. EDIT/MODIFY/INDICATED TUMBLE
  1940.  
  1941.     The cursor must indicate a vertex that lies on a path. The
  1942. Modify Tumble requester is invoked, which can be used to
  1943. modify the orientation of the tumble axes, see Modify
  1944. Tumble, below.
  1945.  
  1946. EDIT/MODIFY/TAKE
  1947.  
  1948.     If a Take is loaded, this command invokes the Modify
  1949. Take requester, see below. This requester acts as a control
  1950. panel for creating, modifying and rendering animations.
  1951. EDIT/DO/EXPAND A requester is invoked that can be used
  1952. to expand the set of selected vertices.
  1953.  
  1954. EDIT/DO/SUBDIVIDE
  1955.  
  1956.     This operation divided each selected edge into two.
  1957. Additional edges are created to ensure that subdivided faces
  1958. remain triangulated. The effect is that faces that are selected
  1959. are split into four, while faces that have two selected vertices
  1960. are divided into two.
  1961.  
  1962.     If only two vertices are selected, and they are not joined
  1963. by an edge, then a requester pops up asking how many
  1964. vertices to insert. Vertices are uniformly spaced between the
  1965. two selected vertices and all are linked by edges.
  1966.  
  1967. EDIT/DO/SPIN
  1968.  
  1969.     The spin operation takes place in the active Tri-View
  1970. window. Each selected edge is swept around the spin axis
  1971. creating new faces. Each selected vertex is swept around the
  1972. spin axis creating new edges. The spin axis is horizontal on
  1973. the screen and passes through the cursor position.
  1974.  
  1975.     Normally the spin operation is applied to a sequence of
  1976. connected edges created with the curve tool. It then
  1977. produces a surface of revolution about the horizontal axis.
  1978.  
  1979.     You are first asked how many steps are required for the
  1980. spin operation. Then you are asked for a sweep direction.
  1981.  
  1982.                                                                         A-15
  1983.  
  1984. EDIT/DO/FILL
  1985.  
  1986.     In order for this command to operate, the selected
  1987. vertices must all lie on a single plane. In addition the
  1988. selected edges must form one or more closed loops. The
  1989. loops must not intersect one another. The FILL command
  1990. constructs new edges so that the interior of each loop is fully
  1991. triangulated. If one loop lies entirely inside another, then
  1992. that loop is regarded as a hole for the purpose of filling. For
  1993. example, if the fill command is applied to two concentric
  1994. circular loops, a filled annulus will be produced.
  1995.  
  1996. EDIT/DO/UNSLICE
  1997.  
  1998.     This command treats the selected vertices as slices
  1999. through an object. All the selected vertices must be members
  2000. of closed loops. Each loop must lie in a plane. Each plane
  2001. must be parallel and distinct. The loops are connected to
  2002. approximate the object defined by the slices.
  2003.  
  2004. EDIT/DO/REFLECT
  2005.  
  2006.     The selected vertices and edges are duplicated by
  2007. reflecting them in a plane defined to be vertical and to pass
  2008. through the cursor location in the current Tri-View window.
  2009. Any vertices in the plane of reflection are not duplicated.
  2010.  
  2011. EDIT/DO/MAKE HELIX
  2012.  
  2013.     A helical or spiral object is created by rotating the
  2014. selected vertices and edges around a spin axis while
  2015. changing the radius and distance along the axis. The spin
  2016. axis is horizontal in the current Tri-View window. The 
  2017. radial and axial displacements are determined in one of two
  2018. ways.
  2019.  
  2020.     If there is no indicated vertex, the selected vertices must
  2021. lie on a non-looping curve. The end points of the curve
  2022. represent radial and axial offsets for one rotational sweep.
  2023. The object created is a single surface, one turn is connected
  2024. to the next.
  2025.  
  2026.                                                                         A-16
  2027.  
  2028.     If there is an indicated vertex, then it must be one end of
  2029. a non-looping curve called the control curve. Each vertex,
  2030. except for the first, represents a radial and axial offset for
  2031. one sweep rotation. Offsets for angles other than multiples
  2032. of 360 degrees are calculated by smooth interpolation or
  2033. extrapolation.
  2034.  
  2035.     In either case you will be prompted for a number of steps
  2036. per turn and a total number of sweep steps.
  2037.  
  2038. EDIT/DO/MAKE SPLINE
  2039.  
  2040.     All the selected vertices must lie on a single curve. Each
  2041. vertex on the curve must be joined to two other vertices with
  2042. edges, except for the two end vertices that are connected to
  2043. one vertex with an edge. Alternatively, the curve may be a
  2044. closed loop with every vertex being joined to two other
  2045. vertices with edges. A spline will be created and the selected
  2046. vertices will become knots. Small arrowheads will be drawn
  2047. on the edges near the knots.
  2048.  
  2049. EDIT/DO/MAKE PATH
  2050.  
  2051.     The cursor must be placed on the vertex that is to be the
  2052. starting point of a path. Vertices connected to this vertex
  2053. must lie on a single curve or loop. If the path is to be a loop,
  2054. the second vertex on the path must be the only selected
  2055. vertex. If these conditions are satisfied, the curve becomes a
  2056. path.
  2057.  
  2058. EDIT/DO/SHOW PATH POSITION
  2059.  
  2060.     If a Take is loaded, the cursor will be moved to the
  2061. vertex on an indicated path that corresponds to the path
  2062. position for the current frame.
  2063.  
  2064. EDIT/DO/HIDE SELECTED VERTICES
  2065.  
  2066.     Any selected vertices become hidden. They do not show
  2067. in the Tri-View, and they cannot become selected. By 
  2068. hiding vertices, they can be excluded from many operations
  2069.  
  2070.                                                                         A-17
  2071.  
  2072. that require selection. Tri-View refresh is faster if most
  2073. vertices are hidden.
  2074.  
  2075. EDIT/DO/REVEAL HIDDEN VERTICES
  2076.  
  2077.     All hidden vertices are made non-hidden.
  2078.  
  2079. EDIT/DO/MAKE TRI-VIEW SMALL
  2080.  
  2081.     This command resizes the Tri-View windows to their
  2082. default size.
  2083.  
  2084. EDIT/DO/MAKE TRI-VIEW BIG
  2085.  
  2086.     This command makes the Tri-View windows big enough
  2087. that they almost fill the screen.
  2088.  
  2089. EDIT/ADD/DUPLICATE
  2090.  
  2091.     Each selected vertex and edge is duplicated. The
  2092. duplicates are created in an unselected state. The duplicates
  2093. occupy the same positions as the original, so they are not
  2094. visible unless the Grabber is used to move the originals to a 
  2095. new location. This command may be used repeatedly as the
  2096. original object is dragged from one location to another, in
  2097. order to create multiple copies of the object.
  2098.  
  2099. EDIT/ADD/SPHERE
  2100.  
  2101.     Add a pseudo-spherical polyhedron. A requester asks
  2102. how many subdivisions of an icosahedron are required. A
  2103. value of zero yields a regular icosahedron with 20 faces.
  2104. Each extra subdivision quadruples the number of faces, so
  2105. storage can easily be exceeded. If smoothing is enabled,
  2106. even a course figure looks quite spherical.
  2107.  
  2108.     The size of the sphere is chosen to fit inside the current
  2109. Tri-View volume with a small clearance.
  2110.  
  2111.                                                                         A-18
  2112.  
  2113. EDIT/ADD/HEMISPHERE
  2114.  
  2115.     Add a polyhedron shaped like a solid hemisphere. A
  2116. requester asks how many subdivisions are required. The
  2117. larger the value, the more closely the object resembles a
  2118. hemisphere.
  2119.  
  2120.     The size of the hemisphere is chosen to fit inside the
  2121. current Tri-View volume with a small clearance.
  2122.  
  2123. EDIT/ADD/CUBE
  2124.  
  2125.     A cube is constructed whose size is chosen to fit inside
  2126. the current Tri-View volume with a small clearance.
  2127.  
  2128. EDIT/ADD/PRISM
  2129.  
  2130.     A prism is constructed whose size is chosen to fit inside
  2131. the current Tri-View volume with a small clearance.
  2132.  
  2133. EDIT/ADD/DISK
  2134.  
  2135.     A disk is constructed whose size is chosen to fit inside
  2136. the current Tri-View volume with a small clearance.
  2137.  
  2138. EDIT/ADD/CIRCLE
  2139.  
  2140.     A circle is constructed whose size is chosen to fit inside
  2141. the current Tri-View volume with a small clearance.
  2142.  
  2143. EDIT/ADD/CYLINDER
  2144.  
  2145.     A cylinder is constructed whose size is chosen to fit
  2146. inside the current Tri-View volume with a small clearance.
  2147.  
  2148. EDIT/ADD/TUBE
  2149.  
  2150.     A tube is constructed whose size is chosen to fit inside
  2151. the current Tri-View volume with a small clearance.
  2152.  
  2153.                                                                         A-19
  2154.  
  2155. EDIT/ADD/CONE
  2156.  
  2157.     A cone is constructed whose size is chosen to fit inside
  2158. the current Tri-View volume with a small clearance.
  2159.  
  2160. EDIT/ADD/LAMP
  2161.  
  2162.     A lamp is created at the cursor location with the current
  2163. brightness and color.
  2164.  
  2165. EDIT/ADD/VERTEX
  2166.  
  2167.     A vertex is created at the cursor position. The vertex is
  2168. selected.
  2169.  
  2170. EDIT/ADD/EDGES
  2171.  
  2172.     This command has the same effect as clicking on the
  2173. edge builder gadget.
  2174.  
  2175. EDIT/SNAP/CURSOR TO VERTEX
  2176.  
  2177.     The cursor is moved to the location of the nearest vertex.
  2178.  
  2179. EDIT/SNAP/CURSOR TO CENTER
  2180.  
  2181.     The cursor is snapped to the center of the selected
  2182. vertices.
  2183.  
  2184. EDIT/SNAP/CURSOR TO CENTROID
  2185.  
  2186.     The cursor is snapped to the centroid of the selected
  2187. vertices.
  2188.  
  2189. EDIT/SNAP/CURSOR TO GRID
  2190.  
  2191.     The cursor is moved to the nearest grid location.
  2192.  
  2193. EDIT/SNAP/SELECTED VERTICES TO GRID
  2194.  
  2195.     Each selected vertex is moved to the nearest grid
  2196. location.
  2197.  
  2198.                                                                         A-20
  2199.  
  2200. EDIT/SNAP/CONNECTED VERTICES TO SPHERE
  2201.  
  2202.     The cursor must be placed over a vertex. The vertices
  2203. that are connected to this vertex are examined and the size of
  2204. a rectangular box that would just contain the vertices is
  2205. determined. The vertices are moved radially from the center
  2206. of the box until they lie on the surface of a sphere whose
  2207. diameter is equal to the longest side of the box.
  2208.  
  2209.     The effect of this command is to make an object
  2210. approximate a sphere. The approximation will be quite good
  2211. if the object has many faces.
  2212.  
  2213. EDIT/SNAP/SELECTED VERTICES TO PLANE
  2214.  
  2215.     A plane is calculated that best fits the set of selected
  2216. vertices. The selected vertices are moved so as to lie in the
  2217. plane.
  2218.  
  2219. EDIT/NAME/SELECTED VERTICES
  2220.  
  2221.     A hierarchy requester is invoked. After choosing or
  2222. creating a hierarchy name, the selected vertices are given the
  2223. current name when the OK gadget is pressed.
  2224.  
  2225. EDIT/NAME/CONNECTED VERTICES
  2226.  
  2227.     A hierarchy requester is invoked. After choosing or
  2228. creating a hierarchy name, the vertices that are connected to
  2229. the indicated vertex are given the current name when the OK
  2230. gadget is pressed.
  2231.  
  2232. EDIT/NAME/INDICATED PATH
  2233.  
  2234.     A hierarchy requester is invoked. After choosing or
  2235. creating a hierarchy name, the indicated path is given the
  2236. current name when the OK gadget is pressed.
  2237.  
  2238.                                                                         A-21
  2239.  
  2240. EDIT/NAME/INDICATED LAMP
  2241.  
  2242.     A hierarchy requester is invoked. After choosing or
  2243. creating a hierarchy name, the indicated lamp is given the
  2244. current name when the OK gadget is pressed.
  2245.  
  2246. EDIT/GRID/ON
  2247.  
  2248.     A requester pops up asking for a grid size. The grid size
  2249. should be given in units of the least significant digit of a
  2250. coordinate display. Unless the grid spacing is less than a
  2251. few pixels, the grid is drawn in the Tri-View windows.
  2252.  
  2253. EDIT/GRID/OFF
  2254.  
  2255.     The grid display is turned off.
  2256.  
  2257. EDIT/COORDINATES
  2258.  
  2259.     This command causes a coordinate window to pop up.
  2260. Before the window is displayed, a prompt is given for the
  2261. location of the decimal point for numerical values. This
  2262. window can be dragged to any part of the screen and depth
  2263. arranged. The window can be removed with its close
  2264. gadget. The window displays the current position of the
  2265. cursor measured eastward, northward and upward of an
  2266. origin which can be reset with the X-shaped gadget at the
  2267. lower right of the window.
  2268.  
  2269.     In addition, the window also displays the distance
  2270. between two selected points. These points can be set by
  2271. using the End Point Gadgets. If an End Point Gadget is
  2272. pressed, the end point is either the vertex indicated by the
  2273. cursor, or the current cursor position. If a vertex is specified
  2274. as an end point, then the end point moves if the vertex is
  2275. moved. The end points are represented by end point icons in
  2276. the Tri-View windows. When an end point is locked to a
  2277. vertex, it is shown in purple, otherwise in blue.
  2278.  
  2279.     The gadget on the lower left of the window can be used
  2280. to set an angle marker, or lock it to a vertex, in a similar
  2281. manner to the end points. The box to the left of the angle
  2282.  
  2283.                                                                         A-22
  2284.  
  2285. marker shows the angle from one end point marker to the
  2286. angle marker to the other end point marker.
  2287.  
  2288.     If you click on one of the three coordinate value boxes,
  2289. you can enter or edit the value and the cursor will move to
  2290. the specified location.
  2291.  
  2292. TOOLS/SELECTOR
  2293.  
  2294.     This command picks the selector tool. It is represented
  2295. in the Tri-View by a yellow square. It represents a cube in
  2296. space. Any vertices that enter the cube become selected.
  2297. The tool may be dropped by pressing the right mouse
  2298. button.
  2299.  
  2300. TOOLS/DESELECTOR
  2301.  
  2302.     This command picks the deselector tool. It is
  2303. represented in the Tri-View by a purple square. It represents
  2304. a cube in space. Any vertices that enter the cube become
  2305. deselected. The tool may be dropped by pressing the right
  2306. mouse button.
  2307.  
  2308. TOOLS/MAGNET/ATTRACT
  2309.  
  2310.     The magnet tool is selected and is placed in attract mode.
  2311. The tool is represented by an image of a horseshoe magnet.
  2312. If the left mouse button is held down and the right mouse
  2313. button is clicked, all selected vertices are moved towards the
  2314. magnet. The strength of the attraction falls off inversely as
  2315. the square of the distance between the vertex and the magnet,
  2316. except when the vertex is very close to the magnet, when the
  2317. attraction varies directly with the distance. The magnetic
  2318. attraction is increased if the magnet is operated with the right
  2319. Amiga key pressed down. The attraction is reduced if the
  2320. left Amiga key is down when the magnet is operated. The
  2321. tool may be dropped by pressing the right mouse button.
  2322.  
  2323. TOOLS/MAGNET/REPEL
  2324.  
  2325.     The magnet tool is selected and is placed in repel mode.
  2326. The tool is represented by an image of a horseshoe magnet.
  2327.  
  2328.                                                                         A-23
  2329.  
  2330. If the left mouse button is held down and the right mouse
  2331. button is clicked, all selected vertices are moved away from
  2332. the magnet. The strength of the repulsion falls off inversely
  2333. as the square of the distance between the vertex and the
  2334. magnet, except when the vertex is very close to the magnet,
  2335. when the repulsion varies directly with the distance. The
  2336. magnetic repulsion is increased if the magnet is operated
  2337. with the right Amiga key pressed down. The repulsion is
  2338. reduced if the left Amiga key is down when the magnet is
  2339. operated. The tool may be dropped by pressing the right
  2340. mouse button.
  2341.  
  2342. TOOLS/CURVE
  2343.  
  2344.     The curve tool resembles the cursor crosshairs except
  2345. that the upper and right portions of the cursor are replaced by
  2346. an icon of a pencil. When the curve tool is picked and the
  2347. left mouse button is held down and the right mouse button is
  2348. clicked, a new vertex is created and an edge is constructed
  2349. from this vertex to the previous vertex, except if this is the
  2350. first vertex made with this invocation of the curve tool.
  2351. Prior to creating an edge, a rubber band line is drawn from
  2352. the previous vertex to the cursor so as to indicate where an
  2353. edge could be created. If the curve tool is indicating an
  2354. existing vertex when the right button is clicked, then the
  2355. previous vertex will be joined to the indicated vertex with an
  2356. edge. The tool may be dropped by pressing the right mouse
  2357. button or by the act of building an edge to an indicated
  2358. vertex.
  2359.  
  2360. TOOLS/EXTRUDE
  2361.  
  2362.     The extrude tool duplicates the selected object and joins
  2363. the duplicate and the selected object. Edges are linked to
  2364. create new faces only if the edge is a part of not more than
  2365. one face. This means that 'interior' edges do not extrude
  2366. into faces. The Grabber tool is activated. If you move to
  2367. another window and move the cursor, the selected object is
  2368. dragged, while the duplicate is fixed. The effect is to
  2369. extrude a two dimensional shape into a three dimensional
  2370. solid. Remember to drop the Grabber when the extrusion is
  2371. complete.
  2372.  
  2373.                                                                         A-24
  2374.  
  2375. TOOLS/EDGE MAKER
  2376.  
  2377.     The edge maker is used to join existing vertices with
  2378. edges. A vertex is marked by moving the cursor to the
  2379. vertex and while holding down the left mouse button,
  2380. clicking with the right mouse button. The first and second
  2381. marked vertices are joined by and edge, the third and fourth,
  2382. etc. Prior to creating an edge, a rubber band line joins the
  2383. previous vertex to the cursor to indicate the location that an
  2384. edge would have.
  2385.  
  2386. TOOLS/GRABBER
  2387.  
  2388.     This command has the same effect as clicking on the
  2389. Grabber gadget in a Tri-View window.
  2390.  
  2391. OBSERVER/MODE/WIRE FRAME
  2392.  
  2393.     This command sets the observer in wire frame mode.
  2394. Rendered images only show edges and not faces. The
  2395. perspective is correct.
  2396.  
  2397. OBSERVER/MODE/SKETCH
  2398.  
  2399.     This command sets the observer in SKETCH mode.
  2400. Sketch mode is similar to painting mode, described below,
  2401. except that rendering is faster, but intersecting faces are not
  2402. treated correctly and sometimes a face is drawn in front of
  2403. another face when it should be drawn behind.
  2404.  
  2405. OBSERVER/MODE/PAINTING
  2406.  
  2407.     This command sets the observer in painting mode. A
  2408. painting is an image where each face is represented by a
  2409. single color and no shading is portrayed across a face.
  2410. Shadows are not rendered. The image is produced rapidly,
  2411. and no significant speed improvement is achieved if the
  2412. image size is reduced.
  2413.  
  2414.                                                                         A-25
  2415.  
  2416. OBSERVER/MODE/SCANLINE PAINTING
  2417.  
  2418.     This sets the observer to use a variation of painting
  2419. mode. The image will be rendered more quickly for
  2420. complicated scenes.
  2421.  
  2422. OBSERVER/MODE/SCANLINE SNAPSHOT
  2423.  
  2424.     This sets the observer to use another variation of
  2425. snapshot mode, described below, except that reflections will
  2426. not be shown. The image will again be rendered more
  2427. quickly for complicated scenes. Full 4096 color images are
  2428. produced.
  2429.  
  2430. OBSERVER/MODE/SNAPSHOT
  2431.  
  2432.     This command sets the observer in snapshot mode. A
  2433. snapshot is a ray traced image that excludes the effects of
  2434. shadows. The time taken to produce an image is
  2435. proportional to the image size, so small images can be
  2436. produced much more quickly than large images.
  2437.  
  2438. OBSERVER/MODE/PHOTO
  2439.  
  2440.     This command sets the observer in photo mode. A
  2441. photo is a ray traced image that includes the effects of
  2442. shadows. The time taken to produce an image is
  2443. proportional to the image size, so small images can be
  2444. produced much more quickly than large images. Photos take
  2445. longer to generate than snapshots.
  2446.  
  2447. OBSERVER/MODE/LO-RES
  2448.  
  2449.     This specifies that images are to made in Amiga low
  2450. resolution mode with approximately 320 pixels across the 
  2451. screen.
  2452.  
  2453. OBSERVER/MODE/HI-RES
  2454.  
  2455.     This specifies that images are to be made in Amiga high
  2456. resolution mode with approximately 640 pixels across the
  2457.  
  2458.                                                                         A-26
  2459.  
  2460. screen. If Hold and Modify (HAM) graphics are employed,
  2461. low resolution is used.
  2462.  
  2463. OBSERVER/MODE/NO-INTERLACE
  2464.  
  2465.     This command specifies that images are to be produced
  2466. without interlace, so that approximately 200 pixels are used
  2467. in the vertical direction.
  2468.  
  2469. OBSERVER/MODE/INTERLACE
  2470.  
  2471.     This command specifies that images are to be produced
  2472. with interlace, so that approximately 400 pixels are used in
  2473. the vertical direction. Some screen flicker may be perceived
  2474. with a short persistence monitor.
  2475.  
  2476. OBSERVER/MODE/BITPLANES
  2477.  
  2478.     This command enables you to set up a smaller than
  2479. normal number of colors for non-HAM rendering. The
  2480. number of colors is two raised to the power of the number of
  2481. bitplanes that you specify. If you request 24 bitplanes, then
  2482. no image is produced, but image data is written to three files.
  2483. You will be asked to specify screen and pixel size.
  2484.  
  2485. OBSERVER/LOCATION
  2486.  
  2487.     The location of the observer is moved to the cursor
  2488. position. The observer's location is portrayed in the Tri-
  2489. View by a small blue circle.
  2490.  
  2491. OBSERVER/TARGET
  2492.  
  2493.     The observer's target is moved to the cursor position.
  2494. The observer's target is portrayed in the Tri-View by a small
  2495. blue x. The target position will be in the center of any
  2496. images that are produced.
  2497.  
  2498. OBSERVER/LENS/NORMAL
  2499.  
  2500.     This command sets the width of view to correspond to
  2501. that of a 50mm lens on a 35mm camera.
  2502.  
  2503.                                                                         A-27
  2504.  
  2505. OBSERVER/LENS/WIDEANGLE
  2506.  
  2507.     This command sets the width of view to correspond to
  2508. that of a 28mm lens on a 35mm camera.
  2509.  
  2510. OBSERVER/LENS/TELEPHOTO
  2511.  
  2512.     This command sets the width of view to correspond to
  2513. that of a 135mm lens on a 35mm camera.
  2514.  
  2515. OBSERVER/LENS/SPECIAL
  2516.  
  2517.     This will invoke a requester for the focal length of a non-
  2518. standard lens. Enter the value in millimeters. A small value,
  2519. like 20, corresponds to a wide view, whereas a large
  2520. number, like 100, corresponds to a narrow view where
  2521. distant objects seem closer.
  2522.  
  2523. OBSERVER/EXPOSURE/AUTO
  2524.  
  2525.     This command instructs Sculpt Animate to determine the
  2526. screen brightness automatically.
  2527.  
  2528. OBSERVER/EXPOSURE/MANUAL
  2529.  
  2530.     This command overrides the automatic exposure setting.
  2531. Numbers larger than 100 cause the image to be brighter,
  2532. values less than 100 cause the image to be darker.
  2533.  
  2534. OBSERVER/IMAGE SIZE/TINY
  2535.  
  2536.     This command causes subsequent images to be made
  2537. that are 1/8 of the full screen size.
  2538.  
  2539. OBSERVER/IMAGE SIZE/SMALL
  2540.  
  2541.     This command causes subsequent images to be made
  2542. that are 1/4 of the full screen size.
  2543.  
  2544.                                                                         A-28
  2545.  
  2546. OBSERVER/IMAGE SIZE/MEDIUM
  2547.  
  2548.     This command causes subsequent images to be made that
  2549. are half of the full screen size.
  2550.  
  2551. OBSERVER/IMAGE SIZE/FULL
  2552.  
  2553.     This command causes subsequent images to be made that
  2554. are the full screen size.
  2555.  
  2556. OBSERVER/IMAGE SIZE/JUMBO
  2557.  
  2558.     This command causes subsequent images to be made that
  2559. are larger the full screen size.
  2560.  
  2561. OBSERVER/IMAGE SIZE/VIDEO
  2562.  
  2563.     This command causes subsequent images to be made that
  2564. are taller the jumbo screen size.
  2565.  
  2566. OBSERVER/TILT
  2567.  
  2568.     A requester is summoned to obtain an angle that the
  2569. image is to be rotated. A value of 90 can be used to produce
  2570. vertical format images.
  2571.  
  2572. OBSERVER/ANTI-ALIASING/NONE
  2573.  
  2574.     No anti-aliasing is used for maximum rendering speed.
  2575.  
  2576. OBSERVER/ANTI-ALIASING/GOOD
  2577.  
  2578.     A simple anti-aliasing scheme is employed that does not
  2579. incur a large penalty in computing time.
  2580.  
  2581. OBSERVER/ANTI-ALIASING/BEST
  2582.  
  2583.     An anti-aliasing scheme is employed that will incur a
  2584. moderate penalty in computing time.
  2585.  
  2586.                                                                         A-29
  2587.  
  2588. OBSERVER/ANTI-ALIASING/DITHERING
  2589.  
  2590.     A requester is invoked that asks you what percentage of
  2591. standard dithering is required. Values in the range of 0 to 200
  2592. are useful.
  2593.  
  2594. OBSERVER/DISPLAY/EARLY
  2595.  
  2596.     Images are usually not displayed until they are fully
  2597. rendered. This setting declares that images should be
  2598. displayed as rendered, if system resources permit.
  2599.  
  2600. OBSERVER/DISPLAY/LATE
  2601.  
  2602.     This re-instates the normal displayed image display.
  2603.  
  2604. OBSERVER/START
  2605.  
  2606.     This command initiates image generation. When a photo
  2607. or a snapshot is being generated, the grinding gear wheel
  2608. icon vanishes after a short time and all Sculpt Animate
  2609. commands (except OBSERVER/STATE) may be executed
  2610. without changing the image as it is produced. The image
  2611. screen can be pushed behind the Tri-View screen by clicking
  2612. on the image first with the left button and then with the right
  2613. button.
  2614.  
  2615. OBSERVER/ABORT
  2616.  
  2617.     This command will terminate any image generation.
  2618.  
  2619. OBSERVER/STATUS
  2620.  
  2621.     This command will enable or disable the status line at the
  2622. top of the screen. It shows the following information.
  2623.  
  2624.         The amount of unused chip memory.
  2625.         The amount of unused fast memory.
  2626.         The number of selected vertices.
  2627.  
  2628.                                                                         A-30
  2629.  
  2630.         The number of unselected vertices
  2631.         The number of edges
  2632.         The number of faces
  2633.         The number of lamps
  2634.  
  2635. WORLD/SKY
  2636.  
  2637.     This command invokes a sky requester, which closely
  2638. resembles the color requester. The gadget at the top is a 
  2639. three way toggle that can take the values NONE, SOLID or
  2640. GRADUATED. Click on the gadget to change its value.
  2641. When NONE is selected, no sky is generated, and the color
  2642. sliders are not used. If SOLID is selected, then a single
  2643. color sky is produced, and the color sliders can be used to
  2644. specify the color. The SOLID color is stored for use in
  2645. reflections and glass if the sky is subsequently set to NONE. 
  2646. If GRADUATED is selected, the swatch of color at the 
  2647. lower center of the requester splits in two. The upper half is
  2648. the sky color at the zenith (directly overhead), while the
  2649. lower half represents the color at the horizon. The two
  2650. colors will be blended at intermediate elevations from the
  2651. horizon. Either the upper or lower half of the swatch is
  2652. emphasized with a three sided border. Click on the swatch
  2653. to toggle the selection between the two halves. The color of
  2654. the selected half can be changed with the sliders.
  2655.  
  2656.     Note that when a non-HAM rendering mode is specified,
  2657. the sky is displayed in a single color.
  2658.  
  2659. WORLD/GROUND
  2660.  
  2661.     This command invokes a ground requester, which
  2662. closely resembles the color requester. The gadget at the top
  2663. is a three way toggle that can take the values NONE, SOLID
  2664. or CHECKERED. Click on the gadget to change its value.
  2665. When NONE is selected, no ground is generated, and the
  2666. color sliders are not used. If SOLID is selected, then a
  2667. ground plane is created and the color sliders can be used to
  2668. specify the ground color. If CHECKERED is selected, the
  2669. swatch of color at the lower center of the requester splits in
  2670.  
  2671.                                                                         A-31
  2672.  
  2673. two. This represents the two colors of a checkerboard
  2674. patterned ground plane. Either the upper or lower half of the
  2675. swatch is emphasized with a three sided border. Click on
  2676. the swatch to toggle the selection between the two halves.
  2677. The color of the selected half can be changed with the 
  2678. sliders.
  2679.  
  2680.     When CHECKERED is selected, the gadget resembling
  2681. a checkerboard at the top right of the requester becomes
  2682. active. It is called the Checkerboard Scale Gadget. If this
  2683. gadget is clicked, the size of squares that are generated on
  2684. the ground is set equal to the longest dimension of the Tri-
  2685. View windows.
  2686.  
  2687. WORLD/ILLUMINATION
  2688.  
  2689.     This command invokes a color requester that can be used
  2690. to set the brightness and color for background illumination.
  2691. This light source bathes the entire scene without casting
  2692. shadows. Normally the V value should be set at about 1/4 to
  2693. prevent shadows from being totally black. Too high a value,
  2694. or the absence of lamps will result in a flat and lifeless
  2695. image.
  2696.  
  2697. The file requester
  2698.  
  2699.     This requester is used to select new or existing files. It
  2700. has three main panels. The panel on the upper right lists the
  2701. currently mounted disk volumes. To select a new volume,
  2702. double click on the volume you need. If more than six
  2703. volumes are present, the scroll bar or the scroll gadgets can
  2704. be used. The currently selected volume is highlighted.
  2705.  
  2706.     The panel on the upper left works in a similar manner,
  2707. but shows the drawers on the current volume. Either double
  2708.  
  2709.                                                                         A-32
  2710.  
  2711. click on drawer, or type in the name of the box immediately
  2712. above the panel. The first item in the panel is marked '/
  2713. Parent Directory' and is used to select the drawer containing
  2714. the current list of drawers. Using this panel you can traverse
  2715. a set of nested drawers.
  2716.  
  2717.     The panel on the lower left is used to select files once the
  2718. volume and drawer have been selected. Again double click
  2719. on the file or enter a name in the box above the panel. To
  2720. create a new file, of course, you must enter its name.
  2721.  
  2722.     Additional buttons allow you to rename or delete files.
  2723. The OK button can be used to select a file, if the desired file
  2724. has been highlighted by clicking on it.
  2725.  
  2726. The hierarchy requester
  2727.  
  2728.     Sculpt Animate makes use of a hierarchy of names to
  2729. represent complicated objects and composite motions. The
  2730. names are linked to one another in a tree-like structure. In
  2731. the requesters that use the hierarchy, a name can be linked to
  2732. one name to the left. The name to the left is called a parent,
  2733. by analogy to a family tree. A name can also be linked to
  2734. many names on the right, these names are called offspring.
  2735.  
  2736.     Because the hierarchy structure could be very large, only
  2737. a portion of it is displayed at a given time. Up to nine names
  2738. that share a common parent are displayed one above another.
  2739. The name in the center of the list is the 'current name', i.e.
  2740. the name under consideration. You can click on a name to
  2741. make the list move so that that name becomes the current
  2742. name. Also you can use the scrolling gadgets to select the
  2743. current name.
  2744.  
  2745.     A new name can be added to the current generation by
  2746. clicking on the box titled 'Add name:' and typing in a new
  2747. name. When you press return, the name will be inserted into
  2748. the current generation in alphabetic order. It does not matter
  2749. if names are entered in lower case or upper case. 'JOE' is
  2750. regarded as the same as 'joe'.
  2751.     
  2752.                                                                         A-33
  2753.  
  2754.     The gadget marked OFFSPRING can be used to move to
  2755. the right in the tree. Any names added will then be the
  2756. offspring of the previous current name. The box titled
  2757. 'Parentage' displays a list of parents, grandparents, etc. of
  2758. the current name. If the list of ancestors is too big to fit in
  2759. the box, three periods will be shown to indicate that the list
  2760. is incomplete. If you click on the parentage box, you will
  2761. move to the left in the hierarchy structure, and the parent of
  2762. the current name will be come the new current name.
  2763.  
  2764.     Once a name has been established, it can be given to one
  2765. or more vertices. A vertex cannot have more than one name
  2766. at a time. Giving it a new name will mean that it no longer
  2767. responds to the old name. Names can also be given to
  2768. paths, in which case all the vertices in the path will have the
  2769. same name. Names can also be given to lamps.
  2770.  
  2771.     Names can be erased from the hierarchy with the ERASE
  2772. NAME gadget, in which case any objects having that name
  2773. will no longer be names.
  2774.  
  2775.     When a global scene is loaded as a part of a frame, any
  2776. path in the hierarchy is treated as a request to move and
  2777. rotate the offspring that are attached to the path.
  2778.  
  2779.     The hierarchy can be edited in a normal manner with the
  2780. gadgets CUT PASTE and COPY.
  2781.  
  2782. The expansion requester
  2783.  
  2784.     This requester can be used to expand the set of selected
  2785. vertices. The expansion (or contraction) is uniform in the
  2786. selected directions and is directly away from either the
  2787. selected vertices CENTER or CENTROID, or the
  2788. CURSOR, as set by a gadget in the requester's title.
  2789.  
  2790.     The expansion can take place in the north-south, east-
  2791. west, or up-down direction, or any combination selected by
  2792. buttons on the requester. Expansion may be done in discrete
  2793. steps of 2 times or 1/2, by pushing the appropriate buttons.
  2794. Alternatively the upper slider may be used. Moving it to the
  2795.  
  2796.                                                                         A-34
  2797.  
  2798. right of center causes expansion, left of center causes
  2799. contraction. The lower slider may be used for fine
  2800. adjustment. It is 50 times less sensitive.
  2801.  
  2802.     The expansion requester may be dragged to a new
  2803. location so that it does not obstruct the Tri-View. The drag
  2804. bar is at the top of the requester. If the CANCEL button is
  2805. pressed, the vertices revert to their positions before the
  2806. expansion was attempted.
  2807.  
  2808. Color requesters
  2809.  
  2810.     Several requesters allow you to select a color. The color
  2811. may be changed by using sliders to set the red, green and
  2812. blue values. Alternatively, sliders can control the hue,
  2813. saturation and value. Hue varies continuously from red to
  2814. green to blue and back to red. Saturation represents the
  2815. purity of the color. As the saturation is decreased, more
  2816. white is mixed in. The value is a measure of the brightness
  2817. of the shade.
  2818.  
  2819. The modify faces requester
  2820.  
  2821.     This requester is used to modify the current face color,
  2822. texture and smoothness. The color sliders work as
  2823. described above. The smoothing value can be toggled
  2824. between ON and OFF by clicking on the gadget. The texture
  2825. can be cycled through the range of possible values: DULL,
  2826. SHINY, MIRROR, LUMINOUS, GLASS and METAL by
  2827. clicking on the gadget. The cycle direction can be reversed
  2828. by holding down the ALT key while clicking on the gadget.
  2829.  
  2830.     The face properties of selected faces can be modified by
  2831. pressing the appropriate SET gadgets. The face properties
  2832. of selected faces can also be extracted, if the properties of all
  2833. selected faces are the same, with the FETCH gadgets. In the
  2834. case of color, an average color can be extracted even when
  2835. the colors of selected faces differ, by the BLEND gadget.
  2836.  
  2837.                                                                         A-35
  2838.  
  2839. The modify lamps requester is used to modify the current color and
  2840. brightness of lamps. If a lamp is indicated by the cursor,
  2841. then the gadget marked WHICH LAMP can be toggled
  2842. between ALL, meaning that all lamps are to be considered,
  2843. and INDICATES which means that only the indicated lamp
  2844. is to be considered.
  2845.  
  2846.     Colors can be set in the usual way with the sliders.
  2847. FETCH and BLEND gadgets are provided for extracting the
  2848. color and brightness, while SET gadgets can be used to
  2849. change the properties of lamps.
  2850.  
  2851. The modify knot requester
  2852.  
  2853.     This requester can be used to modify the parameters of a
  2854. knot. It has the following gadgets:
  2855.  
  2856. Knot type:
  2857.  
  2858.     This gadget can be toggled between REGULAR and
  2859. CUSP. If the knot is a cusp, the knot has separate
  2860. parameters with regard to the curve on either side of the
  2861. knot. The side with the arrowhead pointing towards the
  2862. knot is called the inward side and the other side, with the
  2863. arrowhead pointing away from the knot, is called the
  2864. outward side.
  2865.  
  2866. Side:
  2867.  
  2868.     If the knot is a cusp, this gadget can be toggled between
  2869. INWARD and OUTWARD. The side refers to which side
  2870. of the curve is to be modified by the parameters.
  2871.  
  2872. Slope:
  2873.  
  2874.     This gadget can be toggled between CALCULATED and
  2875. SPECIFIED. If the gadget is set to CALCULATED, then
  2876. the slope of the spline is determined from the positions of
  2877. neighboring knots. If the slope is set to SPECIFIED, then
  2878.  
  2879.                                                                         A-36
  2880.  
  2881. the slope can be adjusted by the Tri-View rotate gadgets,
  2882. while the requester is displayed. The slope is indicated by a 
  2883. yellow arrow.
  2884.  
  2885. Speed
  2886.  
  2887.     This parameter is controlled by a slider. Small values
  2888. will cause non-knot vertices to cluster near the not, and for
  2889. the curve to deviate quickly from the tangent.
  2890.  
  2891. CANCEL
  2892.  
  2893.     This gadget removes the requester and returns the knot
  2894. parameters to their values before the requester is invoked.
  2895.  
  2896. OK
  2897.  
  2898.     This gadget causes the requester to be removed and the
  2899. knot parameters to be accepted.
  2900.  
  2901. The modify tumble requester
  2902.  
  2903.     When this requester is invoked, the tumble axes will be
  2904. displayed as follows: The east tumble axis will be shown by
  2905. a yellow line, the north tumble axis by a white line and the
  2906. up tumble axis by a purple line. The tumble axes can be
  2907. rotated by the Tri-View rotate gadgets.
  2908.  
  2909.     The requester provides the following gadgets:
  2910.  
  2911. MATCH LAST
  2912.  
  2913.     If you click on this gadget, the tumble axes are aligned to
  2914. be parallel with the tumble axes that were examined most
  2915. recently.
  2916.  
  2917. Method:
  2918.  
  2919.     This gadget can be toggled between INTERPOLATED
  2920. and SPECIFIED. This gadget must be set to SPECIFIED to
  2921. be able to rotate the tumble axes. If it is set to
  2922.  
  2923.                                                                         A-37
  2924.  
  2925. INTERPOLATED, the tumble axes will be calculated from
  2926. the orientation of adjacent specified tumble axes.
  2927.  
  2928. NEXT
  2929.  
  2930.     This gadget will cause the cursor to be moved to the next
  2931. vertex on the path. The cursor will also be centered in the
  2932. Tri-View.
  2933.  
  2934. PREVIOUS
  2935.  
  2936.     As above, except that the previous vertex on the path is
  2937. chosen.
  2938.  
  2939. The modify Take requester
  2940.  
  2941.     This requester can be used to change the parameters of
  2942. the Take and to initiate various actions. The gadgets that are
  2943. available, in some cases depends upon the settings of other
  2944. gadgets. The following gadgets are available:
  2945.  
  2946. Take mode:
  2947.  
  2948.     This gadget is always available, it can be toggled
  2949. between FRAME and GLOBAL. When it is set to
  2950. GLOBAL, only gadgets that relate to the animation as a
  2951. whole will be accessible. When it is set to FRAME, then
  2952. only gadgets that are relevant to a particular frame will be
  2953. available.
  2954.  
  2955. Number of frames:
  2956.  
  2957.     This gadget can be used to enter the total number of
  2958. frames that are needed by the animation. RAM animation: 
  2959. This gadget can be cycled through YES, NO and
  2960. ECONOMY". The ECONOMY style of RAM animation is
  2961. faster to produce, but employs less compression.
  2962.  
  2963.                                                                         A-38
  2964.  
  2965. Loop mode:
  2966.  
  2967.     This gadget can be cycled through NONE, LOOP and
  2968. OSCILLATE. This gadget is only available when the RAM
  2969. animation gadget is set to NO. If NONE is specified,
  2970. then any resulting animation will play once and then stop. If
  2971. LOOP is requested, then the animation will be repeated until
  2972. it is stopped manually. If OSCILLATE is set, the animation
  2973. will first be played forwards and then backward. This 
  2974. sequence is repeated until the animation is stopped.
  2975.  
  2976. Frame controller:
  2977.  
  2978.     This gadget is only available when RAM animation is set
  2979. to NO. The gadget can be set to YES or NO. When it is set
  2980. to YES, a file requester is invoked to let you specify a
  2981. driver for a single frame controller which serves as an
  2982. interface between the computer and an output device such as
  2983. a video tape recorder or a film recorder.
  2984.  
  2985. Frame buffer:
  2986.  
  2987.     This gadget is only available when RAM animation is set
  2988. to NO. The gadget can be set to YES or NO. When it is set
  2989. to YES, a file requester is invoked to let you specify a
  2990. driver for a frame buffer which is a hardware device that
  2991. displays an image or produces a video signal.
  2992.  
  2993. Preview size:
  2994.  
  2995.     This gadget can be toggled between FULL and HALF
  2996. and it controls the size of the wire frame preview display,
  2997. when the PREVIEW button is pressed.
  2998.  
  2999. Save images:
  3000.  
  3001.     This gadget can be toggled between YES and NO.
  3002. Normally it is set to YES and all images that are rendered are
  3003. saved to disk. If the gadget is set to NO, then the images
  3004. may still be saved to disk, but they will be deleted as soon as
  3005. possible.
  3006.  
  3007.                                                                         A-39
  3008.  
  3009. Motion blur:
  3010.  
  3011.     This gadget can be toggled between YES and NO. If
  3012. motion blur is specified, the moving objects will seem to be
  3013. blurred slightly along the direction of motion.
  3014.  
  3015. Foreground:
  3016.     
  3017.     This gadget can be used to enter the name of an image
  3018. that is to be treated as a foreground. The image should have
  3019. areas that are transparent, so that the animated scene is
  3020. visible. Transparency is specified by setting a pixel to color
  3021. zero, or by setting a pixel in HAM mode to black. Such
  3022. images can be prepared with a paint program. The actual file
  3023. name must end with '.image', but this extension should not
  3024. be entered into the gadget. The foreground image should be
  3025. the same size as the image being rendered.
  3026.  
  3027. Background:
  3028.  
  3029.     This gadget can be used to enter the name of an image
  3030. that is to be treated as a background. When an image is
  3031. rendered and the sky is turned off, any part of the image that
  3032. would otherwise be recorded as sky will be replaced by the
  3033. background image. The actual file name must end with 
  3034. '.image', but this extension should not be entered into 
  3035. the gadget. The foreground image should be the same size as the
  3036. image being rendered.
  3037.  
  3038. SAVE GLOBAL SCENE
  3039.  
  3040.     This gadget causes the objects in the Tri-View to be
  3041. saved as the global scene for the Take.
  3042.  
  3043. LOAD GLOBAL SCENE
  3044.  
  3045.     This gadget causes the Tri-View to be cleared, and the
  3046. global scene for the Take to be loaded
  3047.  
  3048.                                                                         A-40
  3049.  
  3050. DELETE ALL IMAGES
  3051.  
  3052.     This gadget deletes all the images associated with the
  3053. Take. You should use this at any time that you have
  3054. modified the Take in any that would make the rendered
  3055. images invalid.
  3056.  
  3057. PREVIEW
  3058.  
  3059.     This gadget initiates the rendering process. When all the
  3060. the images have been produces, if a RAM animation mode
  3061. has been specified, an animation file is saved to disk.
  3062.  
  3063. OK
  3064.  
  3065.     This gadget permits you to leave the requester.
  3066.  
  3067. Current frame:
  3068.  
  3069.     This gadget is only available when the 'Take mode' is set
  3070. to FRAME. You may use this gadget to specify which
  3071. frame number you are interested in. Key frame: This gadget
  3072. can be toggled between YES and NO. It is used to specify
  3073. whether the current frame is a key frame.
  3074.  
  3075. Duration:
  3076.     
  3077.     This gadget can be used to specify the length of time, in
  3078. jiffies, that the current frame should be displayed.
  3079.  
  3080. Image drawer:
  3081.  
  3082.     This gadget can be used to specify a drawer for the
  3083. current image. This gadget is particularly useful if you are
  3084.  
  3085.                                                                         A-41
  3086.  
  3087. using floppy disks and all the images will not fit on a single
  3088. disk. If this item is left blank, and an image drawer is
  3089. specified for an earlier frame, then that drawer will be used
  3090. for the current frame.
  3091.  
  3092. Scene drawer:
  3093.  
  3094.     This gadget can be used to specify a drawer for the key
  3095. frame scene for the current frame. This gadget is particularly
  3096. useful if you are using floppy disks and all the scenes will 
  3097. not fit on a single disk. If this item is left blank, and a scene
  3098. drawer is specified for an earlier frame, then that drawer will 
  3099. be used for the current frame.
  3100.  
  3101. SAVE KEY FRAME SCENE
  3102.  
  3103.     The objects that are in the Tri-View are saved to become
  3104. the key frame scene for this frame. Any objects that are
  3105. derived from the global scene will not be saved.
  3106.  
  3107. LOAD KEY FRAME SCENE
  3108.  
  3109.     The key frame scene will be loaded if this frame is a key
  3110. frame. Objects from the global scene will also be loaded,
  3111. but these will not be able to be modified. If the current
  3112. frame is not a key frame, then objects will be loaded by in-
  3113. betweening, but they will not be able to be modified, unless
  3114. you specifically request it.
  3115.  
  3116. DELETE CURRENT IMAGE
  3117.  
  3118.     The image associated with the current frame will be
  3119. deleted.
  3120.  
  3121. RENDER FRAME
  3122.  
  3123.     An image corresponding to the current frame will be
  3124. rendered.
  3125.  
  3126.                                                                         A-42
  3127.  
  3128.                                 APPENDIX B
  3129.  
  3130.                                  GLOSSARY
  3131.  
  3132.  
  3133. ATTACH
  3134. A mechanism for describing moving objects is to attach them
  3135. to a path. The attachment is performed by making the object
  3136. an offspring of a motion path in the hierarchy of names.
  3137.  
  3138. AXES
  3139. The plural of axis.
  3140.  
  3141. AXIS
  3142. A principal direction that is used for measuring the position
  3143. of an object. In Sculpt Animate, the axes are directed to the
  3144. east, north and upwards.
  3145.  
  3146. CENTER
  3147. The Center of a group of vertices is defined as the center of
  3148. the smallest rectangular box that would enclose the vertices.
  3149. The box is aligned with the coordinate axes.
  3150.  
  3151. CENTROID
  3152. The centroid of a set of vertices is the average of their
  3153. individual positions. If the vertices all had the same mass, it
  3154. would be their center of gravity.
  3155.  
  3156. CLICK
  3157. The expression 'click on a gadget', means that you are to
  3158. point to the gadget and press down the left mouse button and
  3159. then release it. If you press the button, and then decide that
  3160. you want to change your mind, some gadgets permit the
  3161. command to be cancelled by moving the pointer away from
  3162. the gadget before releasing the button
  3163.  
  3164. COMPOSITE ENCODER
  3165. A piece of hardware that takes a signal containing separate
  3166. signals for the intensity of the image in red, green and blue
  3167. (RGB) and combines them into a single signal. Many video
  3168. recorders can only accept signals in composite format.
  3169.  
  3170.                                                                         B-1
  3171.  
  3172. CURSOR
  3173. This is an object that represents a position in three
  3174. dimensions, so it is displayed in all three Tri-View
  3175. windows. It can be moved by the mouse, when the left
  3176. button is pressed down.
  3177.  
  3178. CURVE
  3179. In Sculpt Animate, a curve is a series of vertices linked by
  3180. edges. Each vertex on a curve must have either one or two
  3181. edges associated with it.
  3182.  
  3183. CUSP
  3184. A point where two curves meet with a different slope. A
  3185. spline may have any number of cusps. Place them at points
  3186. where you wish the curve to have a corner or kink.
  3187.  
  3188. DELTA DATA
  3189. A description of the difference between two images. Given
  3190. one image and the appropriate delta data, then another image
  3191. can be reconstructed. If two images are very similar, then
  3192. the size of the delta data is much smaller than the size of the
  3193. image.
  3194.  
  3195. DOUBLE CLICK
  3196. Because the mouse only has two buttons, you can signal the
  3197. computer that you wish to do something special, by pressing
  3198. a button twice in rapid succession. This is called double
  3199. clicking, and it is almost always done with the left mouse
  3200. button. You can use the Workbench Preferences tool to set
  3201. the interval of time that the Amiga regards as 'rapid
  3202. succession'. With Sculpt Animate you should set the interval to
  3203. be fairly short, so that a double click is a very deliberate act,
  3204. rather than normal frenzied mouse activity.
  3205.  
  3206. DRAG BAR
  3207. This is a gadget that is located in the top border of each
  3208. window of the Tri-View. It is used to move the window
  3209. around on the screen.
  3210.  
  3211.                                                                         B-2
  3212.  
  3213. EDGE
  3214. In Sculpt Animate an edge is a line joining two vertices. An
  3215. edge is visible as a dark line in the Tri-View, but is never
  3216. seen in a picture
  3217.  
  3218. EDGE BUILDING GADGET
  3219. This gadget resides in the lower left border of each Tri-View
  3220. window. Its icon is a triangle. If exactly two vertices are
  3221. selected, then an edge will be constructed between the
  3222. vertices. If three vertices are selected, then they will be
  3223. joined by three new edges.
  3224.  
  3225. FACE
  3226. In Sculpt Animate objects are built from a patchwork of
  3227. triangular faces. A face has a particular color and surface
  3228. texture. A face is automatically created whenever three
  3229. vertices are joined by three edged.
  3230.  
  3231. FRAME
  3232. One image of an animation. Often a frame is made up by
  3233. interlacing two fields, one containing odd numbered scan
  3234. lines and the other containing even numbered scan lines.
  3235.  
  3236. FRAME BUFFER
  3237. A piece of hardware that is controlled by the computer that
  3238. accepts data for each pixel and generates a video display or a
  3239. video signal. To be useful, a frame buffer should produce
  3240. an image of higher resolution or with more colors than the
  3241. computer's graphics hardware can produce.
  3242.  
  3243. GADGETS
  3244. These are small images that can be used to perform an
  3245. operation. Some gadgets are common to most Amiga
  3246. programs while others are unique to Sculpt Animate. The
  3247. Tri-View has a number of gadgets in the borders of each
  3248. window, that are used for changing the position and size of
  3249. the Tri-View and for manipulating objects. Other gadgets
  3250. appear in requesters. Most gadgets are operated by clicking
  3251. on them with the left mouse button. Others, called sliders,
  3252. are like the controls on a hi-fi graphic equalizer. You can
  3253. click on the control knob and then slide it up and down, or
  3254. from side to side, in order to adjust a value. Finally there are
  3255.  
  3256.                                                                         B-3
  3257.  
  3258. gadgets, that when selected by clicking, will enable you
  3259. enter a name or a number from the keyboard.
  3260.  
  3261. GLOBAL ANIMATION
  3262. An animation technique where a single scene contains all the
  3263. information about objects and their motion, so that many
  3264. frames can be generated from the single scene.
  3265.  
  3266. HELICES
  3267. The plural of Helix.
  3268.  
  3269. HELIX
  3270. A curve that is produced by sweeping a point around an axis
  3271. and changing the distance along the axis. In Sculpt Animate,
  3272. the distance from the axis can also change, resulting in a
  3273. spiral curve.
  3274.  
  3275. HIERARCHY
  3276. A system for organizing elements into levels, where an
  3277. element is never linked to another element at the same level,
  3278. is never linked to more than one element at the next highest
  3279. level, but may be linked to any number of elements at the
  3280. next lowest level. In Sculpt Animate the elements are names
  3281. that may be given to groups of vertices, paths, lamps, etc.
  3282.  
  3283. The part of the sky that appears to be at ground level.
  3284.  
  3285. IN-BETWEENING
  3286. The process of interpolation, whereby the position and shape
  3287. of an object at one time is inferred from its position and
  3288. shape at other times. The frames for which the scene is
  3289. explicitly provided are called key frames.
  3290.  
  3291. INDICATED
  3292. Marking an object by placing the cursor on or near it in the
  3293. current window of the Tri-View.
  3294.  
  3295.                                                                         B-4
  3296.  
  3297. INDICATED VERTEX
  3298. If a vertex lies within a few pixels of the cursor in the active
  3299. window of the Tri-View, this vertex is considered the
  3300. indicated vertex. If more than one vertex meets this criteria
  3301. and they are distributed in depth, then the indicated vertex is
  3302. the one that is closest to the cursor in the depth direction.
  3303.  
  3304. JIFFY
  3305. The length of time that it takes to display a single field of an
  3306. image. On NTSC systems this time is 1/60th of a second.
  3307. On PAL systems the time is 1/50th of a second.
  3308.  
  3309. KEY FRAME
  3310. A frame at which all details of the scene are explicitly
  3311. provided. The scenes that correspond to not key frames
  3312. must be interpolated from key frames before and after the
  3313. non-key frame. This process is called in-betweening.
  3314.  
  3315. KNOT
  3316. A point on a spline that is used to define the shape of a 
  3317. spline. If a knot is moved, nearby non-knot vertices will
  3318. also move.
  3319.  
  3320. LOCAL ORIGIN
  3321. The local origin of a named object is the point that can be
  3322. attached to a path. A local origin can either be fixed in
  3323. space, or locked to a vertex.
  3324.  
  3325. LOCATION
  3326. The point from which a scene is viewed in order to render an
  3327. image.
  3328.  
  3329. LOOP
  3330. In Sculpt Animate, a loop is a series of vertices linked by
  3331. edges where each vertex is associated with two edges. It is a
  3332. closed curve.
  3333.  
  3334. OBJECT CYCLING
  3335. A method of producing an animation where a single scene
  3336. contains many objects, each representing one stage of a
  3337. motion. When the scene is rendered for a particular frame,
  3338. only one object is used.
  3339.  
  3340.                                                                         B-5
  3341.  
  3342. OBSERVER
  3343. This entity embodies all the attributes required to specify the
  3344. process of generating an image, including a viewing
  3345. location, a target position, an imaging method and an image
  3346. size. The width of view can be controlled by choosing a
  3347. lens.
  3348.  
  3349. OFFSPRING
  3350. In a hierarchy, an offspring is an element at the next lowest
  3351. level. In Sculpt Animate, the maximum number of direct
  3352. offspring is limited to 255.
  3353.  
  3354. ORIGIN
  3355. The initial position of the cursor. If the coordinate window
  3356. is displayed, the position of the cursor is specified relative to
  3357. an origin that you can set.
  3358.  
  3359. PARENT
  3360. In a hierarchy, a parent is the element at the next highest
  3361. level. An element may not have more than one parent.
  3362.  
  3363. PATH
  3364. A description of the motion of a moving object. In Sculpt 
  3365. Animate, a path is represented by a chain of vertices linked
  3366. by edges. Each vertex represents the location of the object at
  3367. a time corresponding to a particular frame.
  3368.  
  3369. PIXEL
  3370. A picture element on the screen. The Amiga can display 320
  3371. or 640 pixels in the horizontal direction and 200 or 400
  3372. pixels in the vertical direction. Subject to some restrictions,
  3373. each pixel can be displayed in one of 4096 different colors 
  3374. and intensities.
  3375.  
  3376. POINTER
  3377. This is the image that moves on the screen when you move
  3378. the mouse. It looks like a red arrow, unless you or someone
  3379. else had changed it with the Preferences tool.
  3380.  
  3381.                                                                         B-6
  3382.  
  3383. PREVIEW
  3384. The process of rapidly generating a moving image of an
  3385. animation. In Sculpt Animate, the preview is displayed in
  3386. wire frame mode.
  3387.  
  3388. RAM ANIMATION
  3389. A method of displaying an animation using a computer.
  3390. Each image is stored in memory in a compressed form and is
  3391. expanded before being displayed.
  3392.  
  3393. RENDER
  3394. The word render is used to apply to the process that
  3395. generates an image of a scene.
  3396.  
  3397. REQUESTER
  3398. This is an object that appears on the screen from time to
  3399. time, when Sculpt Animate needs some extra information, or
  3400. wants to be sure that you have received a message before
  3401. continuing. Requesters contain gadgets that may be like
  3402. push button, or sliders or even little boxes where you can
  3403. type a short message. Whenever a requester pops up, you
  3404. must acknowledge it by answering any questions and
  3405. pressing the OK or CANCEL button with the left hand
  3406. mouse button before continuing with Sculpt Animate.
  3407.  
  3408. RUBBER BAND LINE
  3409. A dotted line drawn from a fixed point to the cursor to show
  3410. where an edge could be built.
  3411.  
  3412. SCENE
  3413. A scene is one of the file formats used by Sculpt Animate. It
  3414. can contain objects, lamps, an observer and a world. In
  3415. order to be recognized as a scene, the file name should end
  3416. with '.scene'. The command PROJECT SAVE SCENE
  3417. automatically adds this suffix.
  3418.  
  3419. SCRIPT
  3420. A file that contains commands that control the program
  3421. directly, rather than through mouse interaction.
  3422.  
  3423.                                                                         B-7
  3424.  
  3425. SINGLE FRAME CONTROLLER
  3426. A piece of hardware that permits a computer to control a
  3427. video recorder in such a way that one image is written to tape
  3428. at a time.
  3429.  
  3430. SLOPE
  3431. The angle of a line that is parallel to a curve at a particular
  3432. point. The slope at a knot helps to determine the shape of a 
  3433. spline.
  3434.  
  3435. SNAP
  3436. If the left mouse button is double clicked in a window,
  3437. Sculpt Animate looks for a nearby vertex (within about 3
  3438. pixels). If more than one pixel satisfies the criteria, then the
  3439. one closest in the 'depth direction' of the window is
  3440. chosen. The selection state of the vertex is toggled. Also
  3441. the cursor is moved to the position of the vertex. This is
  3442. called snap. Commands are provided to snap the cursor to a
  3443. vertex or grid. Vertices can be snapped to the grid, to a 
  3444. spherical shape or to a plane.
  3445.  
  3446. SOLID OBJECT MODELING
  3447. In this manual, solid object modeling is defined as the
  3448. creation and manipulation of three dimensional mathematical
  3449. facsimiles of objects, for the purpose of creating images.
  3450. The term has also been used to describe different, more
  3451. sophisticated process that might better be called solid object
  3452. simulation, in which objects are given physical attributes
  3453. such as mass and rigidity. Solid object simulation is beyond
  3454. Sculpt Animate's scope, although Sculpt Animate may be
  3455. used in conjunction with simulation programs.
  3456.  
  3457. SPEED PARAMETER
  3458. A parameter that helps to determine the shape of a spline. If
  3459. a knot has a large speed parameter, the slope has an
  3460. influence over the shape of a large portion of the spline.
  3461.  
  3462. SPLINE
  3463. A smooth curve that is generated mathematically. In Sculpt
  3464. Animate, the exact shape of a spline can be modified
  3465. interactively.
  3466.  
  3467.                                                                         B-8
  3468.  
  3469. SWATCH
  3470. The patch of color at the lower center of one of the color
  3471. requesters is called a swatch. It indicates the current color.
  3472. Move the sliders to change color.
  3473.  
  3474. TAKE
  3475. A sequence of frames that make up an animation. In Sculpt
  3476. Animate, a Take is a file that contains enough information
  3477. that the image for each frame can be rendered.
  3478.  
  3479. TARGET
  3480. A point within a scene that will appear in the center of a 
  3481. rendered image.
  3482.  
  3483. TOGGLE
  3484. When a gadget has two different states that it can be in, and a
  3485. single action causes it to change from one to another, it is
  3486. said to toggle. For example some requesters have a box that
  3487. may contain the word YES or the word NO. Clicking
  3488. on the gadget will change the gadget from YES to NO or
  3489. vice versa.
  3490.  
  3491. TOOL
  3492. In Sculpt Animate, a tool is associated with the cursor. The
  3493. default tool, i.e. the one associated with the cross-hair
  3494. cursor is used for indicating things and for creating vertices.
  3495. The grabber gadget changed the default tool into the grabber
  3496. tool which is used for moving selected objects. Other tools
  3497. include the selector and deselector tools, the magnet tools for
  3498. deforming objects, the curve tool for drawing freehand
  3499. curves, the extrude tool for manipulating extrusions and the
  3500. edge maker tool for making edges.
  3501.  
  3502. TRI-VIEW
  3503. The set of three windows that are used for manipulating
  3504. three dimensional objects. The Tri-View represents a block
  3505. of three dimensional space, and only objects within that
  3506. block are displayed. Objects are displayed as wire frame
  3507. images.
  3508.  
  3509.                                                                         B-9
  3510.  
  3511. TUMBLE AXES
  3512. A set of three directions that define the orientation of an
  3513. object as it moves along a path. By rotating the different
  3514. tumble axes along a path, an object can be made to spin
  3515. when it is animated.
  3516.  
  3517. VERTEX
  3518. This is a point that can define the end of an edge, or
  3519. the corner of a face. In Sculpt Animate, you manipulate an
  3520. object by changing the position of one or more vertices.
  3521.  
  3522. VERTICES
  3523. The plural of vertex.
  3524.  
  3525. WINDOW
  3526. A portion of the screen that sometimes can be moved around
  3527. or rearranged in depth. The most important windows in
  3528. Sculpt Animate are the three windows of the Tri-View.
  3529. These windows have a blue and white border area containing
  3530. a myriad of gadgets. The interior of the Tri-View windows
  3531. are brown and contain a wire frame rendering of the contents
  3532. of the Tri-View.
  3533.  
  3534. ZENITH
  3535. The point in the sky that is directly overhead.
  3536.  
  3537.                                                                         B-10
  3538.  
  3539.                                 APPENDIX C
  3540.  
  3541.                         SCULPT ANIMATE FILE FORMATS
  3542.  
  3543.     The files generated by Sculpt Animate follow the IFF
  3544. standard, with the exception of the RGB files described in
  3545. chapter 3. The IFF format is described in the Amiga ROM
  3546. Kernel Manual, and sample programs to read and write such
  3547. files may be found in most Amiga public domain disk
  3548. libraries. Some programming experience is helpful in
  3549. understanding the format, in particular, the C language will
  3550. be used to describe the nonstandard data chunks.
  3551.  
  3552.     The file formats used by the Sculpt series of programs
  3553. for the Amiga are constantly changing, through the addition
  3554. of new chunk types and the definition of reserved 'padding'
  3555. bytes in existing chunks. In most cases this will not present
  3556. problems either with older versions of the program, or with
  3557. future versions. Care should be taken to initialize unused
  3558. padding bytes to zero, to maintain future compatibility.
  3559.  
  3560. Image files
  3561.  
  3562.     Images are written as ILBM IFF files and need little
  3563. further explanation here, since they conform to the published
  3564. standards. Because of the variety of image size and mode
  3565. that Sculpt Animate uses, programs which intend to use
  3566. these images shouldn't make assumptions about these items.
  3567. Image files have names that end with '.image'.
  3568.  
  3569.     Images saved in conjunction with frame buffer usage are
  3570. non-standard, but follow the ILBM format. These images
  3571. have no CMAP chunk, so the bit planes represent actual 24
  3572. bit color intensity values: 8 planes each of red, green and
  3573. blue--stored in that order. Within each color, the most
  3574. significant bits come before less significant bits.
  3575.  
  3576.                                                                         C-1
  3577.  
  3578. Scene files
  3579.  
  3580.     Scene files contain a number of data chunks. Each
  3581. chunk is described below in terms of a C structure. The
  3582. comments beside each structure member should make its
  3583. meaning clear. The FORM name for a scene file is 'SC3D'.
  3584.  
  3585. /* Chunk 'LAMP' contains one or more of the following structures,
  3586.    the number of structures is determined by the length of the chunk
  3587.  
  3588. /*
  3589.  
  3590. struct elamp
  3591.     { long int pos[3];          /* The position of the lamp */
  3592.       long int brightness;      /* The brightness of the lamp */
  3593.       unsigned char color[3];   /* The color of the lamp as a triple
  3594.                                   of RGB values, range 0 to 255 */
  3595.       char pad; /* Unused */
  3596.     };
  3597.  
  3598. /* Chunk 'OBSV' contains a specification of an observer according
  3599.    to the following structure
  3600.  
  3601. */
  3602. struct observer
  3603.     {long int obsmode;          /* Rendering mode as follows
  3604.                                    0 Painting
  3605.                                    1 Snapshot
  3606.                                    2 Photo
  3607.                                    3 Wireframe
  3608.                                    4 Sketch
  3609.                                    5 Scanline painting
  3610.                                    6 Scanline snapshot
  3611.                                 */
  3612. long int fl;                    /* Focal length of lens
  3613.                                    in millimeters
  3614.                                 */
  3615. long int althresh;              /* For internal use only */
  3616. long int threshhold;            /* For internal use only */
  3617. long int robspos[3];            /* Position of observer */
  3618. long int rtarget[3];            /* Position of target */
  3619. short int hires;                /* 0 for low and 1 for high resolution */
  3620. short int lace;                 /* 0 for non-interlace 1 for interlace */
  3621.  
  3622.                                                                         C-2
  3623.  
  3624. short in lens;                  /* Lens type as follows:
  3625.                                    0 Normal 50mm
  3626.                                    1 Wide angle 28mm
  3627.                                    2 Telephoto 135mm
  3628.                                    3 Special, as given by spfl
  3629. short int manexpflg;            /* 0 for auto exposure, else manual */
  3630. long int spfl;                  /* Focal length of special lens */
  3631. long int expoverride;           /* Current value for exposure override */
  3632. long int picsize;               /* Image size as follows
  3633.                                    0 Tiny
  3634.                                    1 Small
  3635.                                    2 Medium
  3636.                                    3 Full
  3637.                                    4 Jumbo
  3638.                                    5 Video
  3639.                                 */
  3640. long int tilt;                  /* Tilt angle */
  3641. long int aamode;                /* Anti aliasing mode as follows
  3642.                                    0 None
  3643.                                    1 Good
  3644.                                    2 Best
  3645.                                 */
  3646. short int dithatten;            /* Dithering attenuation as follows:
  3647.                                    0 Standard
  3648.                                    50 Half standard, etc.
  3649.                                    100 None
  3650.                                 */
  3651. short int colorlock;            /* Non zero for locking colors */
  3652. short int explock;              /* Non zero for locking exposure value */
  3653. short int expexp;               /* Internal use only */
  3654. long int expmant;               /* Internal use only */
  3655. unsigned char wfcol1[4],2fcol2[4];
  3656.                                 /* Colors for wire frame images */
  3657. short int displayearly;
  3658.                                 /* Non zero to request early display
  3659.                                    of rendered image */
  3660. short int dummy[29];            /* Reserved for future use, should be set
  3661.                                    to zero
  3662.                                 /*
  3663. };
  3664.  
  3665.                                                                         C-3
  3666.  
  3667. /* Chunk 'WRLD' contains a specification of the world using the
  3668.    following structure
  3669. */
  3670. struct world
  3671.     {long int groundmode;       /* 0 None, 1 solid, 2 checkered */
  3672.      long int skymode;          /* 0 None, 1 solid, 2 graduated */
  3673.      long int checkscale;       /* Size of checkered ground */
  3674.      unsigned char backbright[3];
  3675.                                 /* Intensity of background illumination
  3676.                                    as RGB values on a scale of 0 to
  3677.                                    255
  3678.                                 */
  3679.      unsigned char grcol1[3],grcol2[3];
  3680.                                 /* Colors of ground squares as RGB
  3681.                                    values on a scale of 0 to 255
  3682.                                 */
  3683.      unsigned char skycol1[3],skycol2[3];
  3684.                                 /* Sky colors as RGB values on
  3685.                                    a scale of 0 to 255
  3686.                                 */
  3687.      long int dummy[20];        /* Reserved for future use, should be set
  3688.                    to zero
  3689.                                 */
  3690.  
  3691.      };
  3692.  
  3693.                                                                         C-4
  3694.  
  3695. /* Chunk 'VERT' contains an array of the following structure, one
  3696.     element for each vertex to be included in the scene
  3697. */
  3698. struct evertex
  3699.         {long int pos[3];       /* Position of vertex */
  3700.      };
  3701.  
  3702. /* Chunk 'EDGE' contains an array of the following structure, on
  3703.     element for each edge in the scene
  3704.  
  3705. */
  3706. struct eedge
  3707.         {long int evertexi[2];  /* Indices denoting vertices in VERT
  3708.                                    chunk
  3709.                                 */
  3710.       };
  3711. /* Chunk 'FACE' contains an array of the following structures, on
  3712.    element for each face in the scene
  3713. */
  3714. struct eface
  3715.         {long int evertexi[3];  /* Indices denoting vertices in VERT
  3716.                                    chunk
  3717.                                 */
  3718.     unsigned char color[3];
  3719.                                 /* Face color as RGB values in the range
  3720.                                    0 to 255
  3721.                                 */
  3722.         unsigned char texture;  /* The most significant bit is set
  3723.                                    if smoothing is needed. The remaining
  3724.                                    bits represent a texture value as follows:
  3725.                                      0 Dull
  3726.                                      1 Shiny
  3727.                                      2 Mirror
  3728.                                      3 Luminous
  3729.                                      4 Glass
  3730.                                      5 Metal
  3731.                                 */
  3732.     };
  3733.  
  3734.                                                                         C-5
  3735.  
  3736. /* The chunk 'HIER' contains an array of the following structures,
  3737.     one element for each name in the hierarchy
  3738. */
  3739. struct ehier
  3740.         {short int parindex;    /* index to the hierarchy element
  3741.                                    that is the parent of this element
  3742.                                 */
  3743.         char name[10];          /* Nane of the hierarchy element */
  3744.         short int type;         /* Type of element, as follows:
  3745.                                      0 Empty
  3746.                                      2 Lamp
  3747.                                      4 Path
  3748.                                      6 Target
  3749.                                      8 Observer location
  3750.                                    Bit 0x10 is set if a local origin is
  3751.                                    used by this element
  3752.                                 */
  3753.         short int loverti;      /* index to the vertex that is the local
  3754.                                    of this element
  3755.                                 */
  3756.         long int lo[3];         /* Local origin position */
  3757.     };
  3758.  
  3759. /* Chunk 'VNAM' contains an array of the following structure, one
  3760.     element for each vertex that has a hierarchy name
  3761. */
  3762.  
  3763. struct ename
  3764.         {short int object;      /* index to vertex */
  3765.         short int name;         /* index to hierarchy name */
  3766.     };
  3767.  
  3768. /* The chunk 'LNAM' contains an array of short integer values
  3769.     representing the hierarchy indices for each lamp. Unnamed
  3770.     lamps are given an index of -1.
  3771. */
  3772.  
  3773.                                                                         C-6
  3774.  
  3775. /* The chunk 'PATH' contains an array of the following structure,
  3776.     one element for each vertex that is a part of a path
  3777. */
  3778. struct epath
  3779.         {int evertexi;          /* Index to vertex */
  3780.     long int etumbleaxes[3][3];
  3781.                                /* Tumble axis directions, scaled by a factor or
  3782.                                   1L<<30
  3783.                                 */
  3784.     int terminator;
  3785.                                 /* Code value with bits set as follows:
  3786.                                      1 end of path
  3787.                                      2 end of loop
  3788.                                      4 interpolated
  3789.                                 */
  3790.     };
  3791. /* The chunk 'KNOT' contains an array of the following structure,
  3792.     one element for each knot vertex included in the scene
  3793. */
  3794. struct eknot
  3795.     {long int eslopes[2][3];
  3796.                                 /* Knot slopes scaled by 1L<<30 */
  3797.     long int espeeds[2];
  3798.                                 /* Speed values scaled by 1L<<30 */
  3799.     short int evertexi;
  3800.                                 /* index to vertex */
  3801.     short int terminator;
  3802.                                 /* Code value with bits set as follows:
  3803.                                      1 end of spline
  3804.                                      2 end of loop
  3805.                                      4 interpolated
  3806.                                      8 cusp
  3807.                                 */
  3808.     };
  3809.  
  3810.                                                                         C-7
  3811.  
  3812. /* The chunk 'SPLN' contains an array of the following structure,
  3813.     one element for each non-knot spline vertex
  3814. */
  3815. struct espline
  3816.     {short int evertexi;
  3817.                                 /* Index to vertex */
  3818.     short int evertknoti;
  3819.                                 /* Index to knot */
  3820.     };
  3821.  
  3822.  
  3823. Take files
  3824.  
  3825.     A take is automatically saved to disk at frequent intervals
  3826. as a file whose name ends with '.take'. It is an IFF file with
  3827. a form name called 'TAKE' containing the following
  3828. chunks.
  3829.  
  3830. /* Chunk 'THDR' contains the following structure:
  3831. */
  3832. struct take
  3833.         {int frmode;            /* set to 1 for frame mode */
  3834.         int rammode'            /* set as follows:
  3835.                                      0 not RAM animation
  3836.                                      1 normal RAM animation
  3837.                                      1 economy RAM animation
  3838.                 */
  3839.         int numframes;          /* number of frames in the take */
  3840.         int curframe;           /* current frame number */
  3841.     int saveimages;
  3842.                                /* set to 1 if frames are to be saved to disk */
  3843.         int prevsize;           /* preview size as follows:
  3844.                                      2 Medium
  3845.                                      3 Full
  3846.                 */
  3847.     int motionblur;
  3848.                                 /* set for motion blur */
  3849.         int loopmode;           /* set as follows:
  3850.                                      0 no loop
  3851.                                      1 loop
  3852.                                      2 oscillation
  3853.                 */
  3854.  
  3855.                                                                         C-8
  3856.  
  3857.         int framebuffer;
  3858.                 /* set if frame buffer is in use */
  3859.     int framecontroller;
  3860.                 /* set if frame controller is in use */
  3861.     char anidrawer[22];
  3862.                 /* animation drawer name */
  3863.     char foreground[22];
  3864.                 /* foreground file name */
  3865.     char background[22];
  3866.         /* background file name */
  3867.     char pad1[22];
  3868.         /* unused, should be set to zero */
  3869.     char fcname[22];
  3870.         /* frame controller name */
  3871.     char pad2[22];
  3872.         /* unused, should be set to zero */
  3873.     char fbname[22];
  3874.         /* frame buffer name */
  3875.     short int colorblock;
  3876.         /* set when colors are locked */
  3877.     char creg[96];
  3878.         /* current color registers */
  3879.     short int explock;
  3880.         /* set when exposure values are locked */
  3881.     short int expexp;
  3882.         /* internal use only */
  3883.     long int expmant;
  3884.         /* internal use only */
  3885.     short int obsmode;
  3886.         /* Rendering mode as follows
  3887.             0 Painting
  3888.             1 Snapshot
  3889.             2 Photo
  3890.             3 Wireframe
  3891.             4 Sketch
  3892.             5 Scanline painting
  3893.             6 Scanline snapshot
  3894.         */
  3895.     short int hires;
  3896.         /* 0 for low and 1 for high resolution */
  3897.     short int lace;
  3898.         /* 0 for non-interlace 1 for interlace */
  3899.  
  3900.                                                                         C-9
  3901.  
  3902.     short int picsize;
  3903.         /* Image size as follows
  3904.             0 Tiny
  3905.             1 Small
  3906.             2 Medium
  3907.             3 Full
  3908.             4 Jumbo
  3909.             5 Video
  3910.         */
  3911.     short int bitplanes;
  3912.         /* number of bit planes */
  3913.     unsigned char wfcol1[4],wfcol2[4];
  3914.         /* colors for wire frame rendering */
  3915.     char padding[64];
  3916.         /* unused, should be set to zero */
  3917.     };
  3918.  
  3919. /* The remaining chunks are of type 'TFRM', one for each frame in
  3920.     the take. Each chunk contains the following structure
  3921. */
  3922.  
  3923. struct etakeframe
  3924.     {short int framenum; /* Frame number */
  3925.     short int keyframe;  /* Set to 1 if it is a keyframe */
  3926.     short int duration; /* Duration, in jiffies */
  3927.     char imadrawer[22]; /* image drawer name */
  3928.     char scedrawer[22]; /* scene drawer name */
  3929.     char padding[64];   /* unused, should be set to zero */
  3930.     };
  3931.  
  3932.                                                                         C-10
  3933.  
  3934.                                 APPENDIX D:
  3935.  
  3936.                               ERROR MESSAGES
  3937.  
  3938.     This appendix contains a list of error messages that can
  3939. be encountered during the use of Sculpt Animate. Messages
  3940. that simply ask for confirmation of a command, etc., have
  3941. generally been omitted.
  3942.  
  3943.     The messages are grouped topically. Messages with
  3944. similar meanings are explained once, as a group.
  3945.  
  3946. Messages relating to memory:
  3947.  
  3948. Not enough memory
  3949. Not enough memory to display image
  3950. Not enough memory to render image
  3951. Not enough memory for preview
  3952.     These errors indicate that there isn't enough memory to
  3953.     perform the requested operation. This can occur even if plenty
  3954.     of expansion RAM is available, since chip (graphics) ram is
  3955.     always limited. Note that the memory status display is only
  3956.     updated occasionally during renders.
  3957.  
  3958. Memory too fragmented
  3959.     This error indicates that the largest available contiguous
  3960.     memory block is not large enough to carry out the operation.
  3961.  
  3962. Not enough memory or disk space
  3963.     The requested operation may be possible if more disk space is
  3964.     made available, either in the program's current directory or in a
  3965.     mounted device or volume named "SATEMP:" (intermediate
  3966.     image data would be stored here). No more than 600K of
  3967.     additional disk space should be required in any case.
  3968.  
  3969. Not enough memory for task or recovery
  3970.     The program has "painted itself into a corner", and can't find
  3971.     enough free memory to continue at all. This should be rare.
  3972.  
  3973. Unable to open screen
  3974. Unable to open window
  3975.     A system call to open a screen or window has failed. This is
  3976.     most likely because of a lack of chip (graphics) memory.
  3977.  
  3978.                                                                         D-1
  3979.  
  3980. Messages relating to files:
  3981.  
  3982. File does not exist!
  3983. Cannot rename non-existent file!
  3984. Cannot delete non-existent file!
  3985. Take not found. Create new Take?
  3986.     The file requested does not exist in the selected directory.In
  3987.     the case of a Take, clicking OK will enable the Modify Take
  3988.     command, which saves a Take file automatically.
  3989.  
  3990. Unable to open file
  3991. Unable to open image file
  3992.     A file cannot be found that is required for the processing of a
  3993.     take. This is most likely to happen if a name is improperly
  3994.     entered into the foreground or background image slot, if
  3995.     CANCEL is clicked in an "insert volume" requester, or if a
  3996.     key frame has been specified for which no scene has been
  3997.     saved. This can also happen if the file is being used by
  3998.     another program which is running concurrently.
  3999.  
  4000. Unable to create file
  4001. Unable to open file for animation
  4002. Unable to open files for bit-planes
  4003.     A system I/O error occurred which prevented a file from being
  4004.     opened for storing data. This can happen if a protected file of
  4005.     the same name exists on the requested directory, if a file of the
  4006.     same name is being used by another program, if the requested
  4007.     directory doesn't exist, if the disk is not mounted or is write
  4008.     protected, etc.
  4009.  
  4010. Unable to open device
  4011. Fail to open Frame buffer
  4012. Fail to open Frame controller
  4013.     The selected device driver was either not found or not
  4014.     successfully loaded by the system. Make sure the driver
  4015.     filename matches it's device name (case sensitive), and that it
  4016.     is properly installed in DEVS:.
  4017.  
  4018. Unable to close file for bit-planes
  4019.     The program was not able to access a volume on which it had
  4020.     been writing bit-plane data. This can happen if CANCEL is
  4021.     clicked on a volume requester.
  4022.  
  4023. Error reading from file
  4024. Error reading from animation file
  4025.     A system I/O error occurred while the file was being accessed.
  4026.     This may mean that the file has been corrupted. This can also
  4027.     happen if the end-of-file is reached unexpectedly.
  4028.  
  4029.                                                                         D-2
  4030.  
  4031. Error writing to file
  4032. Failure while writing to disk
  4033. Error writing animation file
  4034. Disk error on bit-planes file
  4035.     A system I/O error occurred while data was being stored. This
  4036.     is most likely to happen if the volume being written to fills
  4037.     up. Try specifying a larger volume in the "Animation drawer"
  4038.     slot of the Modify Take requester, Global mode. Or, in the
  4039.     Frame mode, name different volumes in the "image drawer"
  4040.     slot for various frames.
  4041.  
  4042. This file does not contain a scene
  4043. No image found on this file
  4044. This file does not contain a Take
  4045.     The supposed Scene, Image, or Take file that is being opened
  4046.     does not actually contain valid data of that type.
  4047.  
  4048. The file is corrupted
  4049.     The scene file contains 'garbled' data that can't be used.
  4050.  
  4051. The image has no color information
  4052. The image has no header information
  4053.     The image file does not contain specific data which is required
  4054.     to properly display the image.
  4055.  
  4056. This image file does not match frame buffer
  4057.     An image that was supposedly saved as part of a frame buffer
  4058.     render is the wrong size/resolution for the current frame buffer.
  4059.     This can happen if you change the frame buffer's settings or
  4060.     select a new frame buffer when images already exist for a Take.
  4061.     Click DELETE ALL IMAGES when you change setting.
  4062.  
  4063. Fatal disk read error
  4064. Fatal disk write error
  4065.     A serious system I/O error has occurred which makes it
  4066.     impossible for program execution to continue.
  4067.  
  4068. Messages relating to hierarchies:
  4069.  
  4070. Hierarchy error. It may have been truncated.
  4071.     The scene's hierarchy is corrupted. This may have occurred as
  4072.     a result of a system I/O error, garbled file, etc.
  4073.  
  4074. No indicated vertex
  4075.     "Connected" commands require that the cursor be "indicating" a
  4076.     vertex, i.e., placed within a pixel or so in the selected window.
  4077.  
  4078.                                                                         D-3
  4079.  
  4080. A lamp cannot be given this name
  4081. A path cannot be given this name
  4082. Vertices cannot be given this name
  4083.     This tells you that the word "location" or "target" was the
  4084.     current name in the hierarchy when you clicked OK. If you
  4085.     just wanted to name the observer's location or target, then
  4086.     there is no problem. Otherwise, use another name.
  4087.  
  4088. Messages relating to rendering:
  4089.  
  4090. Observer mode needs to be set
  4091.     The loaded scene requires a rendering mode that has not been
  4092.     implemented in this version. A different mode must be set.
  4093.  
  4094. Already making a picture
  4095.     A START or RENDER command has been issued while an
  4096.     image was already being rendered. Wait for the render to
  4097.     finish, or use Abort.
  4098.  
  4099. ERROR: images have different size or type
  4100. ERROR: colors not locked
  4101. Delete all images and render them again
  4102.     The images that have been saved in a take must all have the
  4103.     same size, resolution, type, and color map in order to be
  4104.     compressed for RAM playback. These parameters are stored in
  4105.     the ".take" file. They may be wrong if you don't DELETE
  4106.     ALL IMAGES before beginning a new render, or if the Take
  4107.     file is somehow lost or altered between rendering sessions.
  4108.  
  4109. Messages relating to Takes:
  4110.  
  4111. ...and erase the Take?
  4112.     The command ERASE ALL was called after a take had been
  4113.     loaded. If you click "OK" to this query, the take will be erased
  4114.     from RAM. If you have made any settings, they will remain
  4115.     on disk in a 'take' file.
  4116.  
  4117. Frame number too small
  4118.     A "current frame" number of zero (0) was entered. Frames are
  4119.     counted from one (1) in Sculpt Animate.
  4120.  
  4121. More frames needed
  4122.     A PREVIEW requires a take of at least two (2) frames.
  4123.  
  4124.                                                                         D-4
  4125.  
  4126. Not a Key Frame! Generate scene by in-betweening?
  4127.     The selected frame is not a key frame, so (presumably) no key
  4128.     frame scene has been saved for it. If you click OK, the
  4129.     program will interpolate a new scene from neighboring key
  4130.     frame scenes.
  4131.  
  4132. Keyframes n1 and n2 have different structure
  4133.     The keyframes that bracket the frame being rendered (or loaded)
  4134.     were constructed differently. See the "in-betweening" section of
  4135.     chapter 11 for details.
  4136.  
  4137. Messages relating to Paths:
  4138.  
  4139. Not a path
  4140.     The desired operation can only be performed on a path. The
  4141.     indicated vertex is not a part of any path.
  4142.  
  4143. No path indicated
  4144.     The command will not work unless a vertex that is part of a
  4145.     path is indicated (has the cursor placed on it in the current
  4146.     window).
  4147.  
  4148. Already a path
  4149.     Another attempt was made to make a path from vertices that were a
  4150.     part of another path.
  4151.  
  4152. Vertex has no edge
  4153. Vertex has more than 2 edges
  4154.     The indicated curve does not describe an unambiguous course
  4155.     for a path to follow.
  4156.  
  4157. Path direction not shown
  4158.     Exactly one vertex must be selected adjacent to the indicated
  4159.     vertex when making a closed loop path, to specify the path's
  4160.     direction of travel.
  4161.  
  4162. Path is not a loop
  4163.     If a curve is not a closed loop, an end vertex of the curve must
  4164.     be indicated for it to be made a path.
  4165.  
  4166. You are already at the end of the path
  4167.     The NEXT and PREVIOUS gadgets in the Tumble Axes
  4168.     requester will only work if there is a next or previous vertex
  4169.     (respectively).
  4170.  
  4171.                                                                         D-5
  4172.  
  4173. Path too short
  4174.     SHOW PATH POSITION was used while the current frame
  4175.     number in the Modify Take requester was larger than the path's
  4176.     number of vertices.
  4177.  
  4178. Messages relating to the Tri-View:
  4179.  
  4180. Tri-View cannot be moved any further in this direction
  4181. Tri-View cannot be made larger
  4182. Tri-View cannot be made smaller
  4183.     The largest allowable coordinate in Sculpt space is plus or
  4184.     minus 10,000,000 fundamental units (no decimals). Tri-View
  4185.     size and motion are limited to avoid going too far past this
  4186.     boundary. The Tri-View also cannot be made smaller than a
  4187.     size of about 1 unit = 1 pixel. Some space is reserved beyond
  4188.     these limits to ensure computational accuracy.
  4189.  
  4190. Miscellaneous editing messages:
  4191.  
  4192. All selected vertices must lie on a plane
  4193.     The desired operation only works on vertices that all lie within
  4194.     the same plane.
  4195.  
  4196. At least 4 vertices must be selected
  4197.     The FILL command only works on loops of four or more vertices.
  4198.  
  4199. Bad control curve
  4200.     The indicated curve is not adequate for the program to use as a
  4201.     guide in constructing a helix.
  4202.  
  4203. Error: part of another spline
  4204.     An attempt was made to create a spline using vertices that are
  4205.     already part of another spline. This is not allowed.
  4206.  
  4207. Error: selected vertices are not connected
  4208.     An attempt was made to create a spline using vertices that are
  4209.     not connected.
  4210.  
  4211. Loop does not lie in a plane
  4212.     At least one of the loops selected for an UNSLICE does not lie
  4213.     in a plane.
  4214.  
  4215. Loop planes are not parallel
  4216.     The loops selected for an UNSLICE do not lie in parallel
  4217.     planes.
  4218.  
  4219.                                                                         D-6
  4220.  
  4221. Must be greater than 3!
  4222.     An attempt was made to create a helix with 3 or fewer
  4223.     rotational steps per cycle. This is not allowed.
  4224.     
  4225. No lamp near the cursor
  4226.     The grabber was invoked with no vertices selected, and no
  4227.     lamp within grasp.
  4228.  
  4229. No unique simple selected curve
  4230.     There is no helix control curve indicated, and the selected
  4231.     vertices (if any) are not adequate for building a helical surface.
  4232.  
  4233. No vertices selected
  4234.     The selected command operates only on selected vertices.
  4235.  
  4236. Not a spline
  4237.     The selected command operates only on splines.
  4238.  
  4239. Not a valid curve for a spline
  4240.     A curve which is to be a spline must be a simple, fully-
  4241.     connected curve with no more than two edges connected to the
  4242.     vertex.
  4243.  
  4244. Nothing to fill!
  4245.     The selected vertices are already filled.
  4246.  
  4247. Number too big, try again
  4248.     A number was entered into a text entry gadget that is too large
  4249.     for the given application (e.g., exposure value).
  4250.  
  4251. How many vertices are to be inserted?
  4252.     SUBDIVIDE was called with two unconnected vertices
  4253.     selected. You may specify a number of vertices to be inserted
  4254.     between these two, creating a curve. (Good for paths).
  4255.  
  4256. Select the object to be expanded
  4257.     The EXPAND command was called without selecting any
  4258.     vertices.
  4259.  
  4260. This vertex is not a knot
  4261.     A knot of a spline must be indicated by the cursor
  4262.     before Modify Knot will work.
  4263.  
  4264.                                                                         D-7
  4265.  
  4266. Script error messages:
  4267.  
  4268.     It is possible that errors can occur during the execution
  4269. of a script file or keyboard macro, as a result of typos or
  4270. incorrect entries in the script. When this occurs, this
  4271. message will appear:
  4272.  
  4273.     Script syntax error nn on line nnn. Continue?
  4274.  
  4275.     The "line" number tells which line of the script is at fault.
  4276. It is possible that the error actually occurred on the preceding
  4277. line (as when a parameter was omitted). If you click
  4278. OK, script execution will continue with the next line.
  4279.  
  4280.     The syntax error number can provide a clue about what
  4281. has actually gone wrong. The following is a list of script
  4282. syntax errors that can appear.
  4283.  
  4284. 1  A name enclosed in double quotes was not found.
  4285.  
  4286. 2  The first word of a command is incorrect.
  4287.  
  4288. 3  A command that moves the cursor is incorrect.
  4289.  
  4290. 4  When saving a scene, something other than one of the following
  4291.    keywords was found: SELected, LAMps, OBServer, WORld or
  4292.    OBJects.
  4293.  
  4294. 5  When loading a scene, something other than one of the following
  4295.    keywords was found: SELected, LAMps, OBServer, WORld or
  4296.    OBJects.
  4297.  
  4298. 6  The number representing an expansion factor was entered
  4299.     incorrectly.
  4300.  
  4301. 7  A number representing a color value has been incorrectly entered.
  4302.  
  4303. 8  The number representing the size of a sphere was not supplied, or
  4304.    supplied incorrectly.
  4305.  
  4306. 9  The number representing the size of a hemisphere was not
  4307.    supplied, or supplied incorrectly.
  4308.  
  4309. 10 The number representing the size of a cube was not supplied, or
  4310.    supplied incorrectly.
  4311.  
  4312. 11 The number representing the size of a prism was not supplied, or
  4313.    supplied incorrectly.
  4314.  
  4315. 12 The number representing the size of a disk was not supplied, or
  4316.    supplied incorrectly.
  4317.  
  4318. 13 The number representing the size of a circle was not supplied,or supplied incorrectly.
  4319.  
  4320.                                                                         D-8
  4321.  
  4322. 14 The number representing the size of a cylinder was not supplied, or
  4323.    supplied incorrectly.
  4324.  
  4325. 15 The number representing the size of a tube was not supplied, or
  4326.    supplied incorrectly.
  4327.  
  4328. 16 The number representing the size of a cone was not supplied, or
  4329.    supplied incorrectly.
  4330.  
  4331. 18 The integer representing the number of decimal places to use in
  4332.    coordinates was not supplied correctly.
  4333.  
  4334. 19 The number representing the focal length of a lens was not given
  4335.    correctly.
  4336.  
  4337. 20 The integer representing the exposure override percentage was not
  4338.    correctly supplied.
  4339.  
  4340. 21 The observer tilt angle has not been correctly supplied.
  4341.  
  4342. 22 The size of the ground checkerboard has been incorrectly specified.
  4343.  
  4344. 23 The angle of rotation for a rotate command has not been given
  4345.    correctly.
  4346.  
  4347. 24 The integer value specifying the number of bitplanes has been
  4348.    incorrectly specified.
  4349.  
  4350. 25 The keywords SELect or DESelect were expected, but not found.
  4351.  
  4352. 26 An invalid number was used to represent a color.
  4353.  
  4354. 27 The number representing the grid size was not given correctly.
  4355.  
  4356. 28 The cursor was not positioned on a vertex in order to indicate a
  4357.    knot.
  4358.  
  4359. 29 The indicated vertex is not a knot.
  4360.  
  4361. 30 A name enclosed in double quotes contains a space, return or non-
  4362.    printing character.
  4363.  
  4364. 31 A name enclosed in double quotes is not terminated, or is too long.
  4365.  
  4366. 33 An integer representing the number of vertices on the perimeter of
  4367.    a disk was not correctly supplied.
  4368.  
  4369. 34 An integer representing the number of vertices on the perimeter of
  4370.    a disk was not correctly supplied.
  4371.  
  4372. 35 An integer was expected, but not found.
  4373.  
  4374. 36 An integer representing the number of subdivisions of a sphere was
  4375.    not correctly supplied.
  4376.  
  4377. 37 An integer representing the number of subdivisions of a
  4378.    hemisphere was not correctly supplied.
  4379.  
  4380. 38 An integer representing the number of vertices on the perimeter of
  4381.    a circle was not correctly supplied.
  4382.  
  4383.                                                                         D-9
  4384.  
  4385. 39 An integer representing the number of vertices on the perimeter of
  4386.    on end of a cylinder was not correctly supplied.
  4387.  
  4388. 40 An integer representing the number of vertices on the perimeter of
  4389.    a tube was not correctly supplied.
  4390.  
  4391. 41 An integer representing the number of vertices on the perimeter of
  4392.    a cone was not correctly supplied.
  4393.  
  4394. 42 The number representing the percentage of standard dithering has
  4395.    been incorrectly supplied.
  4396.  
  4397. 43 An error was made while specifying a direction.
  4398.  
  4399. 44 The number specifying the speed at a knot was not given correctly.
  4400.  
  4401. 45 The cursor is not indicating a vertex for a tumble.
  4402.  
  4403. 46 The indicated vertex does not lie on a path.
  4404.  
  4405. 47 An error has been made while specifying the first direction for a
  4406.    tumble axis.
  4407.  
  4408. 48 An error has been made while specifying the second direction for a
  4409.    tumble axis.
  4410.  
  4411. 49 The two directions to specify a tumble axis are parallel.
  4412.  
  4413. 50 No take loaded.
  4414.  
  4415. 51 Bad value for the number of frames for a take.
  4416.  
  4417. 52 Invalid number for current frame.
  4418.  
  4419. 53 Invalid number for frame duration.
  4420.  
  4421. 54 Bad values for Tri-View sizes.
  4422.  
  4423. 55 Hierarchy name error.
  4424.  
  4425. 56 Macros can only be assigned to printable characters.
  4426.  
  4427. 57 Macro too long, must be less than 30000 bytes.
  4428.  
  4429.                                                                         D-10
  4430.  
  4431. ============================================================================
  4432.     DOCS PROVIDED BY GORD AND -+*+-THE SOUTHERN STAR-+*+- for M.A.A.D.                                                               
  4433. ============================================================================
  4434.  
  4435.